11.5. Sything Control
Cruise Control 是一个开源系统,它支持以下 Kafka 操作:
- 监控集群工作负载
- 根据预定义的限制重新平衡集群
运行更均衡的 Kafka 集群来帮助更有效地使用代理 pod。
典型的集群随着时间的推移可能会不均匀地加载。处理大量消息流量的分区可能无法在可用代理中均匀分布。要重新平衡集群,管理员必须监控代理上的负载,并将忙碌的分区手动分配给具有备用容量的代理。
Cruise Control 自动执行集群重新平衡过程。它为集群构建了一个基于 CPU、磁盘和网络负载的资源利用率 的工作负载模型,并为更多均衡的分区分配生成优化建议(您可以批准或拒绝)。一组可配置的优化目标用于计算这些提议。
您可以在特定模式中生成优化方案。默认 full
模式在所有代理间重新平衡分区。您还可以使用 add-brokers
和 remove-brokers
模式来适应扩展集群或缩减时的更改。
当您批准一个优化建议时,Cruise Control 会将它应用到您的 Kafka 集群。您可以使用 KafkaRebalance
资源配置和生成优化建议。您可以使用注解配置资源,以便自动或手动批准优化提议。
Prometheus 可以提取 Cruise Control 指标数据,包括与优化提议和重新平衡操作相关的数据。使用 Apache Kafka 的 Streams 提供了示例配置文件和 Cruise Control 的 Grafana 仪表板。