卡夫卡多个生产者写同一主题?
Posted
技术标签:
【中文标题】卡夫卡多个生产者写同一主题?【英文标题】:Kafka multiple producer writing to same topic? 【发布时间】:2019-12-12 08:07:00 【问题描述】:假设我有一个包含 3 个分区的主题 T1,即 P1、P2 和 P3。其中 p1 是领导者,其余的是追随者。
现在有 2 个生产者想要推送到同一主题 T1。我相信P1会成为他们两个的领导者?也将保持单一偏移量 对于他们两个或偏移量是每个生产者每个分区的维护者?
现在我有一个从 T1 轮询的消费者。它会默认从两个生产者那里获取消息,还是必须明确提及生产者名称 想要来自特定生产者的消息?
【问题讨论】:
【参考方案1】:Leader 不依赖于生产者或消费者,因此 p1 将始终作为领导者返回。偏移量对生产者来说并不重要,它们是按消费者组定义的。偏移量决定了消费者组读取和提交了哪些消息。
消费者总是会阅读所有的消息,不管是哪个生产者发布的。
【讨论】:
【参考方案2】:您可能混淆了副本和分区。当您说您有一个包含 3 个分区的主题时,这意味着您的记录将根据记录键(或调度程序算法)在它们之间进行调度。 没有“领导分区”。但是,您有一个负责处理分区的领导代理。在您的情况下,您将有 3 个领导者,每个领导者管理您的 3 个分区之一。
这里有一篇关于 Kafka 分区的有趣帖子:
Understanding Kafka Topics and Partitions
亚尼克
【讨论】:
以上是关于卡夫卡多个生产者写同一主题?的主要内容,如果未能解决你的问题,请参考以下文章
卡夫卡生产者说“unknown_topic_or_partition”