一、产品形态
·消息队列 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 版 | | 预留带宽范围生产:90 MB/s~1020 MB/s消费:30 MB/s~1020 MB/s消费与生产比例上限为3:1实际可用带宽生产:180 MB/s~2040 MB/s消费:60 MB/s~2040 MB/s读写带宽可分别设置分区数(含副本):3000,如有更高需求,可联系我们 申请变更。 | 弹性存储支持跨AZ容灾标准监控一键诊断实例 & Topic 限流注意:暂不支持公网接入、事务、幂等、Compact | 业务流量中小业务灵活性高对弹性伸缩有强诉求 |
三、规格选择
选定版本后,可以根据你的业务使用情况选择合适的规格,以下为影响规格的主要因素:
| 因素 | 说明 |
| 带宽 | 分为写带宽和读带宽,其中写带宽计算时需要考虑副本因素,读带宽不需要考虑副本因素。举例:你的业务消息写流量合计为 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 = 600 个分区。 |
| 副本数 | 副本数会影响带宽、存储、分区数的评估,且单一集群分区数量过大容易引起集群不稳定。 |
| Topic 数量 | Topic 数量跟随集群购买的分区数而变化,如你需要支持更多的 Topic,可以选择扩容分区。 |
| 集群负载 | 如你日常会开启事务消息、压缩算法等消耗集群 CPU 的模式,你需要特别关注高级监控的集群负载指标,可参考 集群容量规划实践教程。 |
四、注意事项
虽然消息队列 CKafka 版支持对带宽、存储、分区数等参数进行扩容或新增,但 CKafka 的运行状态并不只依赖这些维度,整个集群的稳定性影响因素是由多方面组合而来,以下为可能对集群稳定性产生影响的因素,建议纳入规格选择的度量范围,结合你的实际使用场景,再行选择匹配的规格:
| 影响因素 | 说明 |
| 集群 TPS 过高 | 集群 TPS 过高会极大的消耗底层机器资源,对于集群稳定性有着很大的影响,建议你综合观察集群 TPS 及负载情况,决定是否需要更高配置的集群。 |
| 是否开启压缩 | 开启压缩服务端需要消耗一定的 CPU 资源进行消息校验,不同的压缩算法对 CPU 的影响不一样,具体压缩算法说明见 CKafka 数据压缩。 |
| 是否开启事务消息 | 开启事务消息后,事务协调器会对集群 CPU、内存、网络带宽等指标有一定影响,同时高并发事务易引发锁竞争,导致消息写入延迟,集群吞吐量可能下降 30%~50%,事务管理的使用详见 CKafka 事务管理。 |
| 是否开启消息幂等 | 开启消息幂等后,集群会消耗资源(CPU/内存/网络)作为代价换取单分区数据强一致性,且无法解决跨会话或跨分区问题,也会对集群整体负载有一定影响。 |
| 消费者位点提交频繁 | 消费者位点提交频繁是一种“以可靠性换吞吐”的妥协策略,可能同时放大消息丢失与性能风险,对于集群 Broker 会产生较大压力,建议你综合评估集群负载情况,决定是否需要更高配置的集群。 |