我们已经试验了一个可能由参数 引起的问题,该参数auto.leader.rebalance.enable
在代理上默认设置为 true。
具体来说,当自动重新平衡发生时,例如在代理重新启动后,一些分区领导者将被移动以匹配首选领导者。在此事件之后,一些有状态的 Kafka Streams 应用程序阻塞在其领导者已移动的源分区上,并且消费者延迟开始增长。
这是一个已知问题吗?为什么应用程序收不到领导者更换的信息?
如果我们需要执行代理的滚动重启,我们发现的战术解决方案是:
- 停止有状态的应用程序
- 执行代理滚动重启。
- 等待 5 分钟(默认值),直到发生自动领导者重新平衡
- 启动有状态的应用程序。
我们正在使用Confluent Platform Community 5.2.2
,部署在 prem 集群上的 3 个节点上。
我们正在尝试重现测试环境中发生的事情,但没有成功。是否有可能受到集群负载的影响,在测试中要低得多?
提前致谢!乔治奥