在使用消息队列 CKafka 版时,核心的关注指标包括带宽、存储、分区数等,这些指标在通用的使用场景下,会影响集群的负载能力。
由于业务场景的差异性,在集群的实际使用和运行过程中,集群负载可能会受到多种因素的影响,例如:消息的大小、消息是否有压缩、是否有使用事务消息、消息的收发比例等。所以,仅仅将集群带宽、存储占比等作为集群是否扩容的唯一判断指标,是不够全面的。
为了更好地保障业务的稳定运行、合理地规划和管理集群容量,CKafka 在高级监控新增了「集群负载」指标。您可以结合带宽使用率、集群负载等指标,更全面的了解当前集群的负载情况,并作为 CKafka 集群是否需要扩容的参考信息。
适用场景
CKafka 专业版
容量规划方案
查看指标
带宽使用率,查看监控指标明细。
集群负载,具体可参见 监控指标明细。
参考策略
实例生产带宽百分比、实例消费带宽百分比
带宽使用率建议不高于70%
集群负载指标建议
单可用区部署,当集群部署在单个可用区时,建议集群负载最大值保持在 70% 左右。
多可用区部署,当集群部署在多个可用区时,需要考虑一定的冗余,以便于当某个 AZ 发生非预期异常时,剩余可用的 AZ 可以正常负荷业务运行。例如:
2 AZ 部署:当单 AZ 不可用时,集群剩余一半节点,结合 70% 的使用率,建议集群常态负载保持在 35% 以下。
3 AZ 部署:当单 AZ 不可用时,集群剩余 2/3 节点,结合 70% 的使用率,建议集群常态负载保持在 47% 以下。
为了业务的稳定性,在购买或者扩容时,建议预留业务流量 30% 左右的余量作为 buffer
扩容场景示例 1
带宽使用率低于 70%,集群负载高于 70%,单可用区部署
集群现状
集群带宽规格 3000 MB
带宽使用率 50%,集群负载 90%
扩容目标
集群负载率从 90% 降低至 60%
扩容方案
扩容系数,将集群负载从 90% 降低至 60%, 扩容系数 = 90% / 60% = 1.5
预留 buffer = 30%
扩容后规格 = 3000 MB * 扩容系数 * 预留 buffer = 3000 MB * 1.5 * (1+30%) = 5850 MB,可按照 6000 MB 扩容规格
扩容场景示例 2
带宽使用率高于 70%,集群负载低于 70%,单可用区部署
集群现状
集群带宽规格 3000 MB
带宽使用率 90%,集群负载 50%
扩容目标
带宽使用率从 90 % 降低至 60%
扩容方案
将带宽使用率从 90% 降低至 60%,扩容系数 = 90% / 60% = 1.5
预留 buffer = 30%
扩容后规格 = 3000 MB * 扩容系数 * 预留 buffer = 3000 MB * 1.5 * (1+30%) = 5850 MB,可按照 6000 MB 扩容规格