我正在用kafka在k8s集群中运行spring-boot应用程序。在滚动更新或扩展我的服务的过程中,其中一些服务重新平衡,这是可以的,因为消费者正在被添加或删除,但这会导致重新平衡的服务停止服务流量。
我在用
Spring Boot2.1.1.释放
spring集成kafka 3.1.0.0版本
SpringKafka2.2.7.发布
我有3个主题,每个2000分区,服务是30-50取决于系统负载。并针对每个主题使用消费者群体。
首先,我认为新的服务正在发出它们准备就绪的信号(通过执行器准备就绪探测),这会导致它们在实际准备就绪之前接受流量,但事实并非如此,因为现有的服务在重新平衡时也会停止服务流量。
什么是缩放或滚动更新的最佳实践,这将触发尽可能少的再平衡
1条答案
按热度按时间qybjjes11#
boot2.1是生命的终结。上一个版本,上个月,是2.1.18。SpringKafka当前的2.2.x版本是2.2.14。
如果您可以升级到(至少)boot2.2.11(springkafka2.4.11-boot默认为2.3.x)(并且代理>=2.3),那么您可以考虑配置增量协作再平衡。
目前的版本是boot2.4.0和springkafka2.6.3。
https://www.confluent.io/blog/incremental-cooperative-rebalancing-in-kafka/