所以我有一个消费者小组在运行,听一个主题的信息。如何将更多的消费者示例添加到消费者组?如果这就是我听信息的方式
let consumer = new kafka.ConsumerGroup(options, topicname);
consumer.on("message", function(message) {
//process message here
});
我尝试创建消费者并在选项中包含相同的组名,
new kafka.Consumer(
client,
[
{ topic: topicName}
],
{
groupId: groupId
}
);
但是当我运行命令时,我看不到它在consumer组中的反映
bin/kafka-consumer-groups.sh --describe --group groupname --bootstrap-server localhost:9092
我看到同一个消费者被分配了不同的主题分区。
如何将更多消费者添加到已创建的现有消费者组中?
1条答案
按热度按时间lvjbypge1#
在使用者组中,不能将两个使用者分配到同一分区。我们可以让一个消费者从多个分区消费,但反之亦然。如果使用者的数量大于分区的数量,那么在这种情况下,其余使用者将处于空闲状态,不会执行任何任务。
如果partiton计数大于consumer的数目,并且当您在同一个consumer组中添加更多consumer时,zookeeper会自动平衡分配给consumer的分区,它将确保没有两个consumer具有相同的分区,否则所有消息将被处理两次。