kafka在大数据中的地位不言而喻,所以无论是求学者还是从业者对于kafka都应该因此足够的重视。而且Kafka作为当前最好的企业级流式处理平台,关于其性能调试及具体场景就必须要了解清楚。
Kafka作为一种高吞吐量的分布式发布订阅消息系统。要充分发挥Kafka集群的性能,可以从一下四个角度去充分的考虑:
第一、吞吐量(throughput):生产者和消费者时间周期内数据处理速度;
第二、延时性(latency):数据时效性,实时数据对延时性要求很高;
第三、持久性(durability):数据存储周期;
第四、可用性(availability):Kafka集群高可用。
在Kafka性能调优之前,我们需要明确:不同的用户使用场景,对Kafka集群的性能要求是不同的。Kafka集群的性能指标,需要在吞吐量和延时性权衡、持久性和可用性之间权衡。但是作为集群管理者,要求我们必须全局考虑,不能孤立地只考虑其中某一个方面。
下面,我们可以详细的讲解Kafka的使用场景
(1)日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如Hadoop、Hbase、Solr等;
(2)消息系统:解耦和生产者和消费者、缓存消息等;
(3)用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到Hadoop、数据仓库中做离线分析和挖掘;
(4)运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告;
(5)流式处理:比如Spark streaming和storm;
(6)事件源;
Kafka是一个分布式的、可分区的、可复制的、基于发布/订阅的消息系统,目前世界500强的企业中有近80%都在使用kafka,所以,学懂kafka至关重要。当然,kafka的应用场景固然很多,但并不意味着任何场景下都可以通过kafka来进行实际的操作,所以,了解清楚大数据的功能、特点以及场景话的应用至关重要。
本文转自:海牛学院