【发布时间】:2017-07-11 19:49:16
【问题描述】:
apache kafka documentation 提到以下内容:
如果所有消费者实例具有相同的消费者组,那么 记录将有效地在消费者实例上进行负载平衡。
如果所有的消费者实例都有不同的消费者组,那么 每条记录都会广播到所有消费者进程。
这让我在考虑分区时有点不清楚,第二个语句是否意味着如果我有多个消费者组,这是否意味着每个组中的每个消费者都将读取所有分区中的所有记录?!!
根据我的拙见,他们在文档中使用的照片仍然与上述不符。
事实上,我正在阅读一篇很棒的文章,kafka in a nutshell,下面引用的陈述与文档中提供的照片更加吻合。
也可以针对给定主题将消费者组织成消费者组 — 组内的每个消费者都从一个唯一的分区中读取数据,并且 组作为一个整体使用来自整个主题的所有消息。如果你 消费者比分区多,那么一些消费者将处于空闲状态 因为它们没有可读取的分区。如果你有更多 分区而不是消费者,那么消费者将收到来自的消息 多个分区。如果您有相同数量的消费者和 分区,每个消费者从一个开始按顺序读取消息 分区。
我希望有人能对上述内容有所了解,并根据 Apache 的官方文档清楚地解释一个场景。
【问题讨论】:
标签: apache-kafka message-queue