簡體   English   中英

Spring 啟動應用程序停止服務流量,同時 Kafka 消費者重新平衡

[英]Spring boot application stop serving traffic while Kafka consumer rebalancing

我正在使用 Kafka 在 k8s 集群中運行 Spring 引導應用程序。 在滾動更新或擴展我的服務期間,其中一些已重新平衡,這沒關系,因為正在添加或刪除消費者,但這會導致重新平衡的服務停止服務流量。

我在用着

  • Spring 啟動 2.1.1.RELEASE
  • Spring 集成 Kafka 3.1.0.RELEASE
  • Spring 卡夫卡 2.2.7.RELEASE

我有 3 個主題,每個主題有 2000 個分區,服務是 30-50,具體取決於系統負載。 並為每個主題使用消費者組。

首先,我認為新服務發出信號表明它們已准備就緒(通過執行器就緒探測),這導致它們在實際准備好之前接受流量,但事實並非如此,因為現有服務在重新平衡時也會停止服務流量。

什么是擴展或滾動更新的最佳實踐,這將觸發可能的最小重新平衡

引導 2.1 是生命的盡頭。 上個月的最后一個版本是 2.1.18。 spring-kafka 的當前 2.2.x 版本是 2.2.14。

如果您可以升級到(至少)Boot 2.2.11(spring-kafka 2.4.11 - Boot 默認引入 2.3.x)(並且代理 >= 2.3),您可以考慮配置增量協作重新平衡。

當前版本是 Boot 2.4.0 和 spring-kafka 2.6.3。

https://www.confluent.io/blog/incremental-cooperative-rebalancing-in-kafka/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM