Cruise Control - Kafka 资源分配自动调整系统


BSD
跨平台
Java

软件简介

Cruise Control 是首个将 Kafka
群集的动态工作负载重新平衡和自动分配的全自动化系统。通过简化 Kafka 集群的运作,为用户提供了极大的便利。

Cruise Control 是用于持续监视 Kafka 集群并根据配置自动调整分配资源的系统,由 LinkedIn 开源。开发团队表示,随着 Apache
Kafka 的普及,许多公司拥有越来越大的 Kafka 集群。在 LinkedIn ,有 1800+ Kafka
brokers,如何平衡其工作量也成了一大难题。Cruise Control 的出现,旨在解决这一操作的可扩展性问题。

Cruise Control 旨在解决以下关键的运维目标:

  1. Kafka 集群必须在磁盘,网络和 CPU 利用率方面持续均衡节点。

  2. 当 broker 失败时,需自动将该 broker 上的副本重新分配给群集中的其他 broker ,并恢复原始的复制因子。

  3. 能够识别消耗群集最多资源的分区。

  4. 支持低接触集群扩展和 broker 停用。

  5. 支持使用异构硬件运行群集,在缺少相同的硬件时快速修复硬件故障。 然而,异构硬件增加运维开销,因为在均衡集群时,SRE 需要精确地识别硬件差异。Cruise Control 应能够支持异构机器的 Kafka 群集和单机运行多个 broker 。