Kafka权威指南:Kafka消费者
Kafka 消费者
应用程序使用 KafkaConsumer 向 Kafka 订阅主题,并从订阅的主题上接收消息。
Kafka 消费者从属于消费者群组。一个群组里的消费者订阅的是同一个主题,每个消费者接收主题一部分分区的消息。
1个消费者接收4个分区的消息:

2个消费者接收4个分区的消息:

4个消费者接收4个分区的消息:

5个消费者接收4个分区的消息:

如果消费者群组的消费者超过主题的分区数量,那么有一部分消费者就会被闲置,不会接收到任何消息。
两个消费者群组对应一个主题:

当一个消费者被关闭或发生崩溃时,它就离开群组,原本由它读取的分区将由群组里的其他消费者来读取。分区的所有权从一个消费者转移到另一个消费者,这样的行为被称为再均衡。在再均衡期间,消费者无法读取消息,造成整个群组一小段时间的不可用。
消费者通过向被指派为群组协调器的 broker 发送心跳来维持它们和群组的从属关系以及它们对分区的所有权关系。消费者会在轮训消息或提交偏移量时发送心跳。如果消费者停止发送心跳的时间足够长,会话就会过期,群组协调器认为它已经死亡,就会触发一次再均衡。
如果一个消费者发生崩溃,并停止读取消息,群组协调器会等待几秒钟,确认它死亡了才会触发再均衡。
This chapter requires login to view full content. You are viewing a preview.
Login to View Full Content