首页 > 代码库 > Kafka基础知识

Kafka基础知识

1. kafka是一个分布式的消息发布-订阅队列。
2. 其中有一些主要的概念:
  Topic: 就是对放入队列的消息进行分类,分类消息分开储存,比如现在有订单消息和用户投诉消息,则分成订单topic和投诉topic

  Message: 放入消息队列的一条一条的消息。

  Producer: 消息的生产者,就是往队列里放消息(Push)的客户端。

     Consumer: 消息的生产者,就是从队列里取消息(Pull)的客户端。

  Broker:对应kafka的一个服务器端,如果是分布式,则可以有多个Broker,多个之间通过Zookeeper来进行协调。

  Partition: 分区,每个topic又可以分为多个Partition,每个Partition之间保存不同数据。

3. 每个Producer往Kafka放数据的时候,会按照一定算法,放到其中Broker中主题的对应分区里。

4. 每个消费者在进行消费的时候可以组成一个group,当进行消费的时候,某一个组中只有一个consumer可以拿到该条数据。

5. 每个分区只有一个leader服务器,其他的全是follower,Leader负责处理生成的消息读写,follower负责对其进行备份。

6. 某主题的某一个分区的消息只会被同一个Consumer消费,每次都是同一个,这样就保证了同一个分区中数据被消费的顺序,多次消费也是该Consumer。