一、场景
1.1、场景应用环境
- 卡夫卡:2.11-1.0.1。
- 主题:并发度为 5 且分区为 5 。
1.2、 问题重现
-
当应用程序重新启动并且在分区分配之前在主题上发布消息时,主题的 5 个消费者找到组协调器并向组协调器发送加入组请求。预计会得到团体协调员的答复,但没有收到任何答复,并且在Kafka服务器日志中找不到DEBUG 日志级别的相关日志。
-
运行描述消费者组命令时,出现以下结果:
a. 消费群体正在重新平衡。
b. 老消费者,有一定滞后性。
c. 具有一些随机名称的新消费者。随着时间的推移,新的消费者数量不断增加。
d.新消息发布在主题上,但消费者没有收到。
e.heartbeat 和 session.time.out 设置为默认值。 -
如果消息在主题及其使用者的分区分配之前发布,则会出现此问题。
二、问题分析
-
假设应用程序在消费者组中具有以下消费者:
a. 消费者A收听Topic1。