选型概述
在购买消息队列 CKafka 版实例前,您需要综合考虑价格、性能、负载及业务场景等关键因素,以选择最适合的实例规格。不同形态的 CKafka 实例在规格、能力表现上存在差异,其资源计算逻辑也各不相同。本节将详细介绍各版本实例的规格特点及计算方式,从而帮助您进行快速选型。
产品形态选择
产品形态
消息队列 CKafka 版提供 Serverful 和 Serverless 两种产品系列,以满足不同业务场景的需求。
产品形态及细节功能差异介绍详见 能力对比。
产品形态选择建议
针对
Serverful 版本(含高级版、专业版)及 Serverless 版本,您可以从规格范围、差异化功能、适配场景等维度进行选择:推荐版本 | 规格范围 | 差异化功能 | 适配场景 | |
Serverful 版 | 高级版 | 带宽范围:20 MB/s~360 MB/s 分区数:400~1800 起步,可单独扩容 | 基础监控 实例限流 双可用区 不支持迁移可用区 支持公网接入,公网带宽不可扩容 | 业务流量中小 成本控制 短期测试和开发 |
| 专业版 | 带宽范围:20 MB/s~100000 MB/s 分区数:400~6000 起步,可单独扩容 | 基础 & 高级监控 Prometheus 监控 实例 & Topic 限流 智能运维 最多四可用区 支持迁移可用区 支持公网接入,公网带宽可扩容 | 业务流量大 稳定性要求高 精细化运维管理 高可用要求高 |
Serverless 版 | | 规格带宽范围:20 MB/s~360 MB/s 实际可用带宽:40 MB/s~720 MB/s 读写带宽可分别设置 分区数:400~1800,不可扩容 | 标准监控 智能运维 弹性存储 双可用区 暂不支持公网接入 | 业务流量中小 业务灵活性高 对弹性伸缩能力有强诉求 |
规格选择
选定版本后,可以根据您的业务使用情况选择合适的规格,以下为影响规格的主要因素:
因素 | 说明 |
带宽 | 分为写带宽和读带宽,其中写带宽计算时需要考虑副本因素,读带宽不需要考虑副本因素。 举例:您的业务消息写流量合计为 50MB/s,3 副本;业务消息读取流量为 200 MB/s;此时您所需要购买的实例应满足写带宽 ≥ 50 * 3 = 150 MB/s,读带宽 ≥ 200 MB/s,需要至少选择 200MB/s 带宽的实例规格。 |
存储 | 需要考虑数据写入速率、留存时长以及副本数量。 举例:您的日写入平均速度为 50 MB/s,消息保留 72 小时(3 天),3 副本,则存储空间至少为:50MB/s * 3600 * 72 * 3,约为 38000 GB。 |
分区数 | 需要考虑副本的影响。 举例:您的实例有 10 个 Topic,每个 Topic 分配了 20 个分区,3 副本,则实际使用分区数为:10 * 20 * 3 = 60 个分区。 |
副本数 | 副本数会影响带宽、存储、分区数的评估,且单一集群分区数量过大容易引起集群不稳定。 |
Topic 数量 | Topic 数量跟随集群购买的分区数而变化,如您需要支持更多的 Topic,可以选择扩容分区。 |
集群负载 |
注意事项
虽然消息队列 CKafka 版支持对带宽、存储、分区数等参数进行扩容或新增,但 CKafka 的运行状态并不只依赖这些维度,整个集群的稳定性影响因素是由多方面组合而来,以下为可能对集群稳定性产生影响的因素,建议纳入规格选择的度量范围,结合您的实际使用场景,再行选择匹配的规格:
影响因素 | 说明 |
集群 TPS 过高 | 集群 TPS 过高会极大的消耗底层机器资源,对于集群稳定性有着很大的影响,建议您综合观察集群 TPS 及负载情况,决定是否需要更高配置的集群。 |
是否开启压缩 | |
是否开启事务消息 | 开启事务消息后,事务协调器会对集群 CPU、内存、网络带宽等指标有一定影响,同时高并发事务易引发锁竞争,导致消息写入延迟,集群吞吐量可能下降 30%~50%,事务管理的使用详见 CKafka 事务管理。 |
是否开启消息幂等 | 开启消息幂等后,集群会消耗资源(CPU/内存/网络)作为代价换取单分区数据强一致性,且无法解决跨会话或跨分区问题,也会对集群整体负载有一定影响。 |
消费者位点提交频繁 | 消费者位点提交频繁是一种“以可靠性换吞吐”的妥协策略,可能同时放大消息丢失与性能风险,对于集群 Broker 会产生较大压力,建议您综合评估集群负载情况,决定是否需要更高配置的集群。 |