问题描述
因此,我有一个消费群体正在运行,并正在收听来自某个主题的消息。如何将更多消费者实例添加到消费者组?如果这是我收听消息的方式
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会自动平衡分配给使用方的分区,这将确保没有两个使用方拥有相同的分区,否则所有邮件将被处理两次。