扩容后的数据均衡涉及到分区在Broker之间的重新分配,会导致业务短暂的不可用。根据我们的实际测试,从3个POD扩容到6个POD的情况下做再均衡,业务不可用时间约为40s。实际部署过程中,这个时间与您扩容的节点数和均衡的工作量有关,因此还是建议在非生产时间进行扩容。
收起1)组成员发生变更,比如新 consumer 加入组,或己有 consumer 主动离开组,再或是己有 consumer 崩溃时则触发 数据平衡 rebalance 。在实际环境下,这是触发数据平衡的主要原因。
2)组订阅 topic 数发生变更,比如使用基于正则表达式的订阅,当匹配正则表达式的新 topic 被创建时则会触发数据平衡rebalance。
3)组订阅 topic 的分区数发生变更,比如使用命令行脚本增加了订阅 topic 的分区数。
在银行行业中,Kafka是一种常用的消息队列系统,用于处理大量的实时数据。将Kafka容器化可以提高系统的可伸缩性和可靠性,但容器化也可能会影响业务进行数据均衡。以下是一些建议,以尽可能减少对业务的影响:
综上所述,通过使用持久化存储、多个Kafka Broker、监控工具和容器编排工具,可以尽可能减少Kafka容器化对业务进行数据均衡的影响。