单个Kafka消费者组中的消费者数量

zujrkrfu  于 2023-06-28  发布在  Apache
关注(0)|答案(3)|浏览(252)

我想使用3个主题,每个主题有4个分区,使用一个消费者组。
消费者组应该包含3个、4个还是12个消费者?
我想实现最佳消费。

ljo96ir5

ljo96ir51#

对于理想的消耗,每个partition应该有一个consumer。所以,对于你的情况,12个消费者应该是理想的。

mbjcgjjk

mbjcgjjk2#

如果你有N个分区,那么你可以在同一个消费者组中有N个消费者,每个消费者从一个分区阅读。当使用者少于分区时,一些使用者将从多个分区读取数据。另外,如果您的消费者比分区多,那么一些消费者将处于非活动状态,并且根本不会收到任何消息。
您不能让同一个使用者组中的多个使用者使用单个分区中的数据。因此,为了使用N个消费者从同一个分区消费数据,还需要创建N个不同的消费者组。
注意,分区增强了Kafka集群内的并行性。如果您创建了数千个消费者来消费来自一个分区的数据,我怀疑您将失去某种程度的并行性。

epggiuax

epggiuax3#

如果您有3个主题,每个主题有4个分区。为了最佳优化,每个消费者组应该有4个消费者。
原因:如果您有4个以上的消费者,您的额外消费者将是理想的,因为4个消费者将被分配4个分区,1个消费者分配1个分区。因此,每个消费者组不需要超过4个消费者。
如果你有较少的消费者,比如说4个主题有2个消费者,每个消费者将消费来自2个分区的消息,每个分区将使它过载。
订阅主题的消费者群体数量没有限制。

相关问题