具有相同组 id 的两个 Kafka 控制台消费者不分担负载

问题描述 投票:0回答:0

使用以下命令启动 Zookeeper

./zookeeper-server-start.sh ../config/zookeeper.properties

开始Kafka broker

./kafka-server-start.sh ../config/server.properties

创建主题使用

./kafka-topics.sh --create --topic my-topic --replication-factor 1 --partitions 4 --bootstrap-server localhost:9092

实例化控制台生产者使用

./kafka-console-producer.sh --broker-list localhost:9092 --topic my-topic

实例化控制台消费者使用

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning

实例化第二个控制台消费者使用

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --from-beginning

查看消费群体使用

./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
  • console-consumer-37108
  • console-consumer-15869

停止两个控制台消费者,然后启动 2 个具有相同控制台组的新控制台消费者

1 号航站楼

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --group console-consumer-37108

2号航站楼

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-topic --group console-consumer-37108

然后使用console producer发布了1,2,3,4,5,6,7,8。我期待 1、2、3、4 出现在 1 号航站楼,其余 5、6、7、8 出现在 2 号航站楼。但令我惊讶的是,所有消息 1、2、3、4、5、6、7、8仅由 1 号航站楼消耗。

我的理解是消息应该在两个消费者之间平均分配,但这并没有发生。我的理解有误吗?或者我在这里做错了什么? 任何帮助表示赞赏。

apache-kafka kafka-consumer-api
© www.soinside.com 2019 - 2024. All rights reserved.