Kafka节点:将消费者添加到消费者组

问题描述

因此,我有一个消费群体正在运行,并正在收听来自某个主题的消息。如何将更多消费者实例添加到消费者组?如果这是我收听消息的方式

let consumer = new kafka.ConsumerGroup(options,topicname);

consumer.on("message",function(message) {
    //process message here
  });

我尝试创建使用者并在选项中包含相同的组名,

new kafka.Consumer(
      client,[
        { topic: topicName}
      ],{
        groupId: groupId
      }
      );

但是当我运行命令时,我看不到它反映在消费者组中

bin/kafka-consumer-groups.sh --describe --group groupname --bootstrap-server localhost:9092

我看到同一个使用者被分配了该主题的不同分区。

如何在创建的现有消费者组中添加更多消费者?

解决方法

在使用者组中,不能将两个使用者分配到同一分区。我们可以让一个消费者从多个分区中消费,但反之亦然。如果您拥有的使用者数量超过了分区数量,那么在这种情况下,其余的使用者将处于闲置状态,并且不会执行任何任务。

如果分区数量大于使用方数量,并且在同一使用方组中添加更多使用方,则Zookeeper会自动平衡分配给使用方的分区,这将确保没有两个使用方拥有相同的分区,否则所有邮件将被处理两次。