gpt4 book ai didi

java - 使用主题模式时负载均衡Kafka记录消耗

转载 作者:行者123 更新时间:2023-12-02 10:17:15 33 4
gpt4 key购买 nike

如果使用相同消费者组 (group.id) 的两个进程订阅相同的 topicPattern - Kafka 会在两个进程之间对已解析的主题进行负载平衡吗?

在我的例子中,大约 400 个主题与该模式匹配,每个主题都有一个部分。我想知道是否可以通过同一消费者组的不同进程对主题的消耗进行负载平衡,但似乎只有一个进程处理所有主题。这是因为只有分区是负载平衡的 - 或者可能是因为订阅使用了主题模式

<小时/>

我做了一些更深入的调试。我的测试设置实际上并不是两个进程,而是两个线程 - 我想这应该不重要。调试打印主题描述输出如下所示(IP 已混淆):

(groupId=foo-bar-group, isSimpleConsumerGroup=false, 
members=
(memberId=KafkaTestApplication:KafkaTestApplication-1-20126d55-678d-46f5-bc73-3769db2c8901,
clientId=KafkaTestApplication:KafkaTestApplication-1,
host=/aa.bb.c.dd,
assignment=(topicPartitions= <all topics here>)),
(memberId=KafkaTestApplication:KafkaTestApplication-2-8d34e81a-8f57-4d4e-bd9e-b56edc4e706c,
clientId=KafkaTestApplication:KafkaTestApplication-2,
host=/aa.bb.c.dd,
assignment=(topicPartitions=)),
partitionAssignor=range,
state=Stable,
coordinator=aaa.bb.ccc.d:9092 (id: 9 rack: null)
)

我可以看到消费者组中有两个不同的成员,具有两个不同的 clientId。尽管如此,所有主题都分配给第一个消费者,而第二个消费者没有分配任何主题。我预计两位成员都会有一些话题。两名成员每隔几秒轮询一次。

最佳答案

当同一组的第二个进程启动时,该组应该重新平衡主题分区分配,是的。

但是,我没有任何订阅模式的经验,但我不认为它的工作方式与提供直接主题列表不同

关于java - 使用主题模式时负载均衡Kafka记录消耗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54594544/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com