【发布时间】:2019-10-02 20:38:36
【问题描述】:
我们有一个由 Kafka on Confluent 通信的微服务架构,其中每个服务都设置在自己的消费者组中,以平衡多个实例之间的消息传递。
例如:
SERVICE_A_INSTANCE_1 (CONSUMER_GROUP_A)
SERVICE_A_INSTANCE_2 (CONSUMER_GROUP_A)
SERVICE_A_INSTANCE_3 (CONSUMER_GROUP_A)
SERVICE_B_INSTANCE_1 (CONSUMER_GROUP_B)
SERVICE_B_INSTANCE_2 (CONSUMER_GROUP_B)
当一条消息发出时,它应该只被每个消费者组的一个实例消费。
直到两天前,这一切都很好。突然之间,每条消息都被传递到所有实例,因此每条消息都会被处理多次。基本上,消费者组停止工作并且消息没有被分发。
要点:
- 我们在 GCP 上的 Confluent 中使用 Kafka paas。
- 我们在不同的环境中对此进行了测试,一切正常
- 我们的消费者没有任何变化
- 我们没有对集群进行任何更改(我们无法知道 Confluent 是否更改了某些内容)
我们怀疑这可能是 Confluent 的问题或与我们当前配置不兼容的更新。 Kafka 2.2.0 was recently released,它对消费者群体的行为有一些改变。
我们目前正在努力迁移到 AWS MSK,以查看问题是否存在。
关于可能导致此问题的任何想法?
【问题讨论】:
-
当您在 GCP 中使用 Confluent Kafka 时,如何判断“没有对集群进行任何更改”?
-
@yuyang 我的意思是 我们没有进行任何更改。 像配置之类的。环境是一个黑匣子,我们甚至无法访问日志。这就是我们希望从 Confluent 迁移出去的主要原因。
标签: apache-kafka kafka-consumer-api confluent-platform