背景
Serverless 技术的快速发展为用户实现了技术优势与成本效益的双赢。这种新型架构通过商业化 PaaS 产品的强大技术支撑,为用户构建了更加灵活的系统架构。其核心价值体现在:
1. 计费模式革新:从传统的固定规格采购转变为弹性按量计费。
2. 存储能力优化:根据实际的存储使用量计费,支持弹性扩容。
3. 资源效率提升:显著提高资源利用率,有效节约业务成本。
以典型客户场景为例:传统模式下,客户需预先配置 200G 的固定存储空间,但在业务初期实际使用率不足10%,造成资源闲置;而业务增长后又需频繁手动扩容,操作繁琐。
针对这一痛点,消息队列 CKafka 专业版创新性地推出了弹性存储解决方案,完美解决了资源利用与业务扩展的平衡问题。
技术原理
CKafka 专业版采用“本地存储 + 远程存储”分级架构实现弹性存储能力:本地存储采用云盘存储近期活跃数据,保障低延迟访问;远程存储通过大容量存储系统承载历史数据,提供经济高效的存储方案。

本地存储
本地存储服务写流量和 Tail-Read 读取操作,提供与原生 Kafka 一致的延时特性、可用性和一致性。
远程存储出现故障或者性能波动时,本地存储支持弹性扩容继续提供完整的读写服务。
远程存储
远程存储服务 Catch-Up 读取操作,实现冷热数据分离。
按需使用,按量计费。
未来扩展性良好,支持多模存储和多介质存储。
这一技术方案保持与本地存储完全一致的写入延迟性,当远程存储出现异常或性能波动时,系统会自动回退到本地存储模式,并通过自动化运营系统动态扩展本地存储资源。得益于成本更优的远程存储方案,在保障业务性能与可靠性的同时,有效降低整体的存储成本。
分级存储读写流程
生产流程
生产的主体流程和原生 Kafka 类似,写入到云盘的数据会异步同步到远端存储 COS。

消费流程
消费的流程也是类似的,会根据用户 Consumer 的 Offset 来做一个比较,如果是在本地存储,那么就本地存储优先返回。如果本地存储没有,那就从远端存储里面去实时读取,或者说根据不同的读取策略有不同的读取下载策略,进行消息读取的消费。

使用限制
1. 引擎版本:仅专业版实例且实例版本为 2.8.1 时支持弹性存储能力。
2. 地域:仅北京、上海、广州、新加坡、中国香港地域支持该能力。
3. 事务消息禁止使用:暂时不建议在弹性存储形态下使用事务消息。
4. 开放范围:功能处于白名单状态,如需使用,请您填写问卷,等待后台审核。
价格说明
开启弹性存储
1. 登录 CKafka 控制台。
2. 在左侧导航栏选择实例列表,单击新建进入实例购买页。
3. 在实例购买页面,集群类型选择专业版,系列选择弹性存储,其他选项根据您的业务需求进行选择。
4. 确认好费用后单击立即购买,在订单支付页面,单击支付,完成支付后等待5 - 10分钟即可在实例列表页面看到创建好的弹性存储实例。

查看监控指标
弹性存储实例支持三个监控指标,便于您观测存储使用情况。
实例级,实例磁盘占用量(MB),指当前实例的存储使用量,包含副本数消耗。
Topic 级,Topic 占用磁盘的消息总量(MB),指当前 Topic 的存储使用量,不包含副本数消耗。
分区级,Partition 占用磁盘的消息总量(MB),指当前 Topic - 分区下的存储使用量,不包含副本数消耗。