Kafka 消费者

消费方式

kafka 消费方式

工作流程

总体流程

kafka 消费者工作流程

消费者组流程

消费者组:由多个 consumer (允许1个)组成,其条件是所有消费者的 groupid 相同,因为默认情况下定义消费者时都需要输入 groupid,即便不输入 kafka 内部也会分配一个 groupid

  • 消费者组内的每个消费者负责消费不同分区的数据,一个分区只能由一个组内的一个消费者消费
  • 消费者之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者
  • 如果消费者组中有更多的消费者,超过了主题分区的数量,那么多出来的一部分消费者就会闲置,不会接收任何消息

初始化流程

corrdinator:辅助实现消费者组的初始化和分区的分配

选择方式为:groupid 的 hashcode 值 % 50 (__consumer_offsets 的分区数量,默认是 50)

kafka 消费者初始化流程

工作流程

kafka 消费者工作流程


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!