导语

自 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 引擎版本下支持弹性存储。
  • 地域:当前仅在北京、上海、广州、新加坡、香港地域下,支持该形态。

购买方式

  1. 控制台购买集群时:
  2. 规格类型,选择专业版;
  3. 存储类型,选择弹性存储;
  4. 确定其他选项后,发起创建即可。

文章来源于腾讯云开发者社区,点击查看原文