假设我有一个主题,有 6 个分区和 2 个消费者,其中 P1、P2、P3 由 C1 处理,P4、P5、P6 由 C2 处理。假设用户数据 U1 总是到 P1,U2 到 P2,依此类推。
所以,
C1 maintains state of users U1, U2, U3
C2 maintains state of users U4, U5, U6.
现在让我们说我们添加了一个消费者 C3,所以重新平衡发生了,现在
P1, P2, P3 -> C1
P4, P5 -> C2
P6 -> C3
所以我的应用程序在 C2 中维护用户 U6 状态,但现在 U6 数据正在流向 C3
现在在这里不知何故,来自 C2 的 U6 状态应该流向 C3。那么这是如何在 Kafka 中实现的,知道它非常常见的问题
或者
如果Kafka不提供任何支持,那么这个问题一般是如何解决的……有没有设计模式来解决它?