卡夫卡每组的推荐消费者人数是多少?

时间:2019-03-08 13:08:55

标签: apache-kafka kafka-consumer-api

在卡夫卡,每组推荐的消费者人数是多少?基本上,我有400个主题,我想从我的小组中学习。我在实验中注意到,如果我从一个消费者到另一个400个主题都可以使用它,那么它是可行的。但是,如果我为单个消费者组中的每个主题创建一个消费者,那么我将无法收到任何消息。

编辑: 我发现有些使用者可以在轮询循环中接收消息,但不是全部。我的猜测是,由于缺少心跳,它们正从消费者组中删除。

从日志看来,几分钟后某些用户由于组一直在重新平衡而无法发送任何心跳信号:

[2019-03-08 07:42:36,769] INFO [Consumer clientId=jira_con-chow-test-69, groupId=chow] Attempt to heartbeat failed since group is rebalancing (org.apache.kafka.clients.consumer.internals.AbstractCoordinator)
[2019-03-08 07:42:39,671] DEBUG [Consumer clientId=jira_con-chow-test-69, groupId=chow] Sending Heartbeat request to coordinator mwkafka-prod-02.tbd:9092 (id: 2147483641 rack: null) (org.apache.kafka.clients.consumer.internals.AbstractCoordinator)
....

我实际上想知道应该加入一个小组的消费者的适当数量是多少。还是我对这个问题的解释不正确,我应该看看别的东西。

谢谢, 阿比

1 个答案:

答案 0 :(得分:0)

理想方程为: 分区数=消费者组中的消费者数。

考虑一下,具有50个分区的主题t有一个由10个使用方组成的使用方组,那么(首先)它将仅开始使用10个分区。在达到分区中的最后一个偏移量之后,使用者开始使用主题t的其他分区。

有关更多详细信息,Kafka Consumer

另一个有用的post

谢谢