消费者群组产生的原因
生产者往主题写入消息的速度超过了消费者消费的速度,这个时候该怎么办?显然,此时很有必要对消费者进行横向伸缩。我们可以使用多个消费者从同一个主题读取消息,对消息进行分流。
分区再均衡
当消费者被关闭或崩溃时,它就离开群组,原本由它读取的分区将由群组里的其他消费者来读取。在主题发生变化时,比如管理员添加了新的分区,也会发生分区重分配。
再均衡期间,消费者无法读取消息,造成整个消费者群组一小段时间的不可用。
消费者向群组协调器(一般为该分区leader所在的broker)发送心跳维持它们和群组的从属关系以及它们对分区的所有权关系。如果消费者停止发送心跳的时间足够长,会话就会过期,群组协调器 认为它已经死亡,就会触发一次再均衡。
轮询
消费者通过不断地向kafka服务器进行轮询来请求数据。轮询会处理所有的细节,包括群组协调、分区再均衡、发送心跳和获取数据,