首页 > 解决方案 > Kafka 消费者组 - 分区数 - 复制数

问题描述

试图了解复制因子和消费者组之间的关系。示例:分区数 = 2 复制数 = 3 消费者组中的消费者数 = 4。在这种情况下 ,

  1. 有多少消费者会收到消息?
  2. 这种复制将如何影响接收的消费者数量。

标签: apache-kafkakafka-consumer-api

解决方案


  • 对于您的第一个问题,由于您的示例中有两个分区,因此 4 个消费者中只有 2 个会实际获取数据。其他两个消费者不会有任何分区分配给他们,因为该消费者组没有任何分区。如果您有不同的消费者组,那么这些消费者仍将被分配分区。

  • 此外,在这种情况下,您提到只有一条消息通过。根据分配给哪个分区,消息只会发送到该分区。所以在这种情况下,只有四个消费者中的一个会收到消息,即分配了该分区的那个。

  • 至于您的第二个问题,Kafka 中的复制因子配置不会影响消费者收到的消息数量。就消费者和生产者而言,复制是他们不需要担心的内部 kafka 集群细节。只要他们正在向/从分区的领导者生产/消费,这就是他们需要知道的全部。一个主题的复制因子可能是 2,而另一个主题的复制因子可能是 10,它们对生产者和消费者的行为都相同。

Kafka 官方文档中有更多详细信息:https ://kafka.apache.org/documentation/#theconsumer


推荐阅读