gpt4 book ai didi

apache-kafka - Spring Kafka 和多个分区上的轮询策略

转载 作者:行者123 更新时间:2023-12-04 10:45:23 25 4
gpt4 key购买 nike

假设我有一个有 4 个分区的主题。
我正在使用 @KafkaListener 注释使用 spring kafka 微服务消费记录。
这个微服务是 dockerized,我有两个实例。然后将每个实例插入到两个分区中。

我观察到当我有滞后要 catch 时,实例会停留在它所在的分区上,并让第二个分区累积滞后。只有当我们停止生成消息并且第一个分区的延迟被完全消耗时,它才会切换到第二个分区。

我的应用程序中的消费顺序只是部分重要的。我的意思是我可以以不同的顺序处理它们,但我不能让消息在分区中停留太久。

简单的解决方案就是拥有四个 docker 实例,一切都会好起来的。

spring-kafka 中是否有一些属性允许我们在 KafkaListener 插入多个分区时更改轮询策略。这个想法是,它会在每次轮询时轮询分配给每个分区的轮询

谢谢阅读 !

最佳答案

您可以设置消费者(监听器容器)concurrency在每个实例上到 2;这样,您将在 2 个实例中拥有 4 个消费者。

带 Spring Boot ,这是spring.kafka.consumer.concurrency .如果您要创建自己的工厂,请直接设置属性。

关于apache-kafka - Spring Kafka 和多个分区上的轮询策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59730055/

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