简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。
融合的自平衡集群
贡献者
建议更改
如果您以前管理过 Kafka 集群,则可能会熟悉手动将分区重新分配给不同代理所带来的挑战,以确保在集群中平衡工作负载。对于部署了大型 Kafka 的组织来说,重新配置大量数据可能会令人望而生畏,繁琐且存在风险,尤其是在集群上构建任务关键型应用程序时。但是,即使对于最小型的 Kafka 使用情形,该过程也非常耗时,并且容易出现人为错误。
在我们的实验室中,我们测试了 Confluent 自平衡集群功能,该功能可根据集群拓扑变化或负载不平衡自动重新平衡。当节点故障或扩展节点需要在代理之间重新平衡数据时, Confluent 重新平衡测试有助于测量添加新代理的时间。在典型的 Kafka 配置中,要重新平衡的数据量会随着集群的增长而增加,但在分层存储中,重新平衡仅限于少量数据。根据我们的验证,在典型的 Kafka 架构中,分层存储的重新平衡需要几秒或几分钟的时间,并且随着集群的增长而线性增长。
在自平衡集群中,分区重新平衡完全自动化,可优化 Kafka 的吞吐量,加快代理扩展速度并减少运行大型集群的操作负担。在稳定状态下,自平衡集群会监控代理之间的数据偏差,并持续重新分配分区以优化集群性能。在纵向或横向扩展平台时,自平衡集群会自动识别是否存在新代理或删除旧代理,并触发后续分区重新分配。这样,您就可以轻松添加和停用代理,从而从根本上提高 Kafka 集群的弹性。这些优势不需要任何人工干预,复杂的数学运算,也不需要分区重新分配通常会带来人为错误的风险。因此,完成数据重新平衡所需的时间远远少于完成时间,您可以自由地专注于价值更高的事件流式项目,而无需持续监控集群。