我在kafka和2个使用它的消费群体中产生了消息。我面临的问题是:
可能是什么原因?
任何线索都将有所帮助。 谢谢!
答案 0 :(得分:0)
这是卡夫卡消费者群体的正常行为:他们彼此完全独立。
想象有两个从同一个分区读取的不同消费者组。
您是否真的希望第一个消费者组花费与第二个消费者组一样的时间来完成消息处理? 地狱。您是否希望第一个消费群体与第二个消费群体一样慢? 地狱。如果您有第三个消费群体,您是否希望其他两个消费群体等待其当前的抵销额? 地狱。想象一下,其中一个消费者组挂起并没有前进:您是否也希望第二个过程挂起? 没有。
这是消费者群体的原因,不是矛盾,而是功能。
如果您对同一条消息具有不同类型的进程并希望按顺序执行它们,则应更改逻辑(以便它对同一条消息执行不同的作业),并只设置一个消费者组,或通过Phaser
或其他类似机制对其进行同步,以使它们彼此等待。