【问题标题】:What is the recommended number of consumers per group in Kafka?Kafka 中每组推荐的消费者数量是多少?
【发布时间】:2019-03-15 20:22:12
【问题描述】:

Kafka 中每组推荐的消费者数量是多少?基本上,我有 400 个主题,我想从我的小组中消费。我在实验中注意到,如果我是 1 个消费者对消费者所有 400 个主题,它会起作用。但是,如果我为单个消费者组中的每个主题创建 1 个消费者,我将无法接收任何消息。

编辑: 我发现一些消费者能够在轮询循环期间接收消息,但不是全部。我的猜测是,由于缺少心跳,他们正在从消费者组中删除。

从日志看来,几分钟后一些消费者无法发送任何心跳,因为该组总是在重新平衡:

[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)
....

我实际上想知道应该加入一个组的合适的消费者数量是多少。还是我对这个问题的解释有误,我应该看看别的。

谢谢, 阿比

【问题讨论】:

  • 400 个主题或分区?
  • 400 个主题,每个主题有 1 个分区

标签: apache-kafka kafka-consumer-api


【解决方案1】:

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

考虑一下,一个有 50 个分区的主题 t 有一个由 10 个消费者组成的消费者组,那么它将(起初)开始只消费 10 个分区。在达到分区中的最后一个偏移量后,消费者开始消费主题 t 的其他分区。

更多详情Kafka Consumer

另一个有用的post

谢谢

【讨论】:

  • 你是说我应该为 400 个主题创建 400 个消费者组?但我可以使用 1 个消费者(1 个消费者组)来消费所有 400 个主题。
  • 不是消费群体,而是一个消费群体中的消费者数量
  • 我有 400 个主题,每个主题有 1 个分区。那么有多少消费者才是理想的呢?
  • 为了更好的并行性,我建议(其中 2 个):-1 个具有 400 个消费者的消费者组。或 -400 个消费者组,有 1 个消费者
  • 这是我在使用 400 个消费者和 1 个组时看到的:“几分钟后,一些消费者无法发送任何心跳,因为该组总是在重新平衡”
猜你喜欢
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
  • 2017-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-19
相关资源
最近更新 更多