导语
自 2024年5月起,TDMQ CKafka 专业版支持弹性存储能力,这种产品形态下,存储可按需使用、按量付费,一方面降低消费即删除、存储使用波动大场景下的存储成本,另一方面存储空间理论上无穷大。
TDMQ CKafka 版产品能力介绍
腾讯云 TDMQ CKafka 版是一个分布式、高吞吐量、高可扩展性的消息系统,100%兼容开源 Kafka API 2.4、2.8、3.2 版本。基于发布/订阅模式,通过消息解耦,使生产者和消费者异步交互,无需彼此等待。TDMQ CKafka 版具有高可用、数据压缩、同时支持离线和实时数据处理等优点,适用于日志压缩收集、监控数据聚合、流式数据集成等场景。
为什么要做弹性存储?
随着技术的发展,Serverless 的技术形态和使用姿势,为用户带来了技术和成本二者兼得的益处。一方面,通过商业化 PaaS 产品的技术实力,设计系统架构。另一方面,计费模式从购买固定规格改变为弹性按量付费,使得客户的存储按照实际的使用量进行计费,且存储支持弹性扩容,帮助客户有效提升资源利用率并降低业务成本。
比如,某客户在购买集群时,需要指定最小集群存储 200G,但业务初期,实际使用率不到10%,而后期随着业务的上量,在不改动规格的基础上,又要不断给存储扩容。
故而,TDMQ CKafka 专业版推出 弹性存储 形态。一方面降低消费即删除、存储使用波动大场景下的存储成本,另一方面存储空间理论上无穷大。
技术方案
专业版的弹性存储形态,基于「本地存储 + 远程存储」相结合的方式实现。即采用分级存储方案,本地会有少量的云盘热数据,远程存储有大量的冷数据。
本地存储
-
本地存储服务写流量/Tail-Read 读,提供与原生 Kafka 一致的延时、可用性和一致性。
-
远程存储故障或者性能衰退,本地存储支持弹性扩容提供读写服务。
远程存储
生产流程
生产的主体流程和原生 Kafka 类似,写入到云盘的数据会异步同步到远端存储 COS。
消费流程
消费的流程也是类似的,会根据用户 Consumer 的 Offset来做一个比较,如果是在本地存储,那么就本地存储优先返回。如果本地存储没有,那就从远端存储里面去实时读取,或者说根据不同的读取策略有不同的读取下载策略,进行消息读取的消费。
更加详细的数据生命周期管理、Offset 约束、Segment 状态机、分级存储架构等,请参考《Kafka 分级存储在腾讯云的实践与演进》。
弹性存储售卖方式
按照消息存储所占用的存储空间大小和存储时长计费。
- 计费方式:按量计费(后付费),计量单位为 “XX 元/GB/小时”。
- 计费粒度:小时,不足1小时按1小时计算。按1小时内使用的磁盘容量的最大值计费。
存储费用 = 消息存储大小 × 存储单价 × 时长。
不同的地域价格不同,具体单价请参考实际售卖页价格:
https://buy.cloud.tencent.com/ckafka?rid=1&payMode=1&typeClass=profession
使用说明
当前功能还是在白名单状态,如需使用请联系我们或售后架构师。
提单地址:
https://cloud.tencent.com/online-service
使用限制
- 引擎版本:当前仅在专业版 Kafka 2.8.1 引擎版本下支持弹性存储。
- 地域:当前仅在北京、上海、广州、新加坡、香港地域下,支持该形态。
购买方式
- 控制台购买集群时:
- 规格类型,选择专业版;
- 存储类型,选择弹性存储;
- 确定其他选项后,发起创建即可。