介绍

https://www.cnblogs.com/Yee-Q/p/15866729.html
是⼀个分布式的、⽀持分区的(partition)、多副本的 (replica),基于 zookeeper 协调的分布式消息系统,它最大的特性就是可以实时处理大量数据以满足各类需求场景:

  1. 日志收集,收集日志以同一接口的方式开放给hadoop、Hbase、Solr等
  2. 消息系统,解耦生产者和消费者、缓存信息等
  3. 用户活动跟踪,记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅这些topic来做实时的监控分析,或者装到hadoop、数据仓库中做离线分析和挖掘
  4. 运营监控指标,记录运营监控数据,包括各种分布式应用的数据,生产各种数据的集中反馈,比如报警和报告

相关术语

Broker 消息中间件处理节点,一个kafka节点就是一个broker,一个或多个broker可以组成一个kfka集群
Topic kafka根据topic对消息进行归类,发布到kafka集群的每条消息都需要指定一个topic
Producer 消费生产者,向broker发送消息的客户端
Consumer 消费消费者,从broker读取消息的客户端
ConsumerGroup 每个Consumer属于一个特定的Consumer Group,一条消息可以被多个不同的消费者组消费,但是一个消费者组中只有一个消费者能够消费该消息

Partition 物理上的概念,一个topic可以分为多个partition,每个partition内部消息是有序的