【发布时间】:2020-01-12 01:16:24
【问题描述】:
我有两个 Kafka 生产者向具有多个分区的同一个主题发送消息。
来自同一个生产者 PR1 的具有相同密钥 K1 的消息总是按预期到达同一个分区 PA1。
问题是来自另一个生产者 PR2 的具有相同密钥 K1 的消息会转到另一个分区 PA2,而我希望它们也会转到 PA1。
Kafka 不会跨生产者保持分区分配吗?
是否与两个生产者使用不同的 Kafka 客户端库有关?
如果我将两个生产者设置为使用相同的 id 会有帮助吗?
【问题讨论】:
-
如果您使用 key1 发送消息,之后使用相同的 key1 发送消息,来自一个或多个生产者,它应该在同一个分区中结束。您是否可能在发送这 2 条消息之间增加了分区数?
-
您使用哪些客户端库?什么版本的 Apache Kafka?
标签: apache-kafka