apache kafka文档提到以下内容:
如果所有使用者示例都具有相同的使用者组,则记录将有效地在使用者示例上进行负载平衡。
如果所有使用者示例都有不同的使用者组,则每个记录都将广播给所有使用者进程。
这使得我在考虑分区时有点不清楚,第二个语句是否意味着如果我有多个使用者组,是否意味着每个组中的每个使用者都将读取所有分区中的所有记录?!!
但根据我的理解,他们在文件中使用的照片与上述不符。
事实上,我读了一篇伟大的文章,Kafka在一个简单的和下面引用的声明符合更好的照片提供的文件。
还可以将使用者组织为给定主题的使用者组—组中的每个使用者都从一个唯一的分区进行读取,并且组作为一个整体使用来自整个主题的所有消息。如果您的使用者比分区多,那么一些使用者将处于空闲状态,因为它们没有可读取的分区。如果分区多于使用者,则使用者将从多个分区接收消息。如果用户和分区的数量相等,则每个用户从一个分区按顺序读取消息。
我希望有人能对上述内容有所了解,并根据apache的官方文档清楚地解释一个场景。
1条答案
按热度按时间atmip9wb1#
这是否意味着每个组中的每个使用者都将读取所有分区中的所有记录?!!
否。该语句假设每个组正好有一个使用者(如“if all consumer instance have different consumer group”所示)。
所以你的整体理解是正确的。如果您有多个消费者组,则会向每个组发送一条消息。