随着业务规模的不断扩大,企业越来越重视构建高性能、高可用的大型分布式系统。为了解决应用耦合,合理进行流量削锋,腾讯云提供了包括 CKafka 和 TDMQ 在内的一系列消息队列中间件。为了更方便地对消息队列中的数据进行转存和持久化,腾讯云对象存储 COS 为用户提供了云消息队列备份的能力。
COS 应用集成 是腾讯云对象存储 COS 基于 Serverless 云函数,为开发者提供的存储数据应用解决方案。开发者只需要在 COS 控制台一键配置,即可使用丰富的功能。
COS 应用集成提供了云消息队列备份的能力,开发者可以轻松配置定时备份任务,将云消息队列中的消息记录以文件的形式转至对象存储,以便进行持久化保存。开发者可以通过备份文件提取消息记录,对消息进行入库、统计分析等操作。
**消息队列 **CKafka ( Cloud Kafka )是一个分布式、高吞吐量、高可扩展性的消息系统,100%兼容开源 Kafka API 0.9.0 至 2.8.0 版本。CKafka 基于发布订阅模式,通过消息解耦,使生产者和消费者异步交互,无需彼此等待。CKafka 具有数据压缩、支持离线和实时数据处理等优点,适用于日志压缩收集、监控数据聚合等场景。
**消息队列 TDMQ **( Tencent Distributed Message Queue )是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容 Pulsar 、RabbitMQ 、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
四、备份任务设置步骤
这里以设置 CKafka 消息备份任务为例,TDMQ 设置与之相似:
a.函数名称:作为函数的唯一标识名称,创建后不可修改(您可以在云函数控制台上查看该函数)。
b.关联存储桶:存放 CKafka 消息的 COS 存储桶。
c.时间粒度:根据消息量的大小,选取汇聚消息的时间间隔,时间间隔为 5 - 15 分钟不等。为保证转存性能,聚合文件数量与 Partition 数量、partition_max 设置数值有关。有关 Partition 的说明,请参见分区。
d.SCF 授权:CKafka 消息备份需要授权云函数从您的 CKafka 服务中读取相关实例消息,并将消息转存至您指定的存储桶中。因此需要添加此授权。
6.单击 [下一步] ,进行 CKafka 配置,配置项说明如下:
a.实例选择:选择消息来源的 CKafka 实例,仅支持同地域的 CKafka 实例。
b.主题选择:选择消息来源的主题。
c.起始位置:消息转储备份时历史消息的处理方式,topic offset 设置。
d.访问地址:必须为 VPC 内网访问地址,基础网络的 CKafka 实例请添加路由策略,具体请参考 添加路由策略。注意:对应的 VPC 子网中必须有可用的 IP ,且必须支持 DHCP 。
7.单击 [下一步] ,进行投递配置,配置项说明如下:
a.投递的路径:备份文件的投递路径前缀,不填写则默认保存在存储桶根路径,指定前缀必须以斜杠 “ / ” 为结尾。
8.添加配置后,单击 [确认] ,即可看到函数已添加完成。
等待一段时间后,可以看到存储桶下投递了备份文件,其内容的每行代表一条消息记录。
好了,本期关于云备份方案将分享到这里,欢迎点击“链接”,查看更多云消息队列备份攻略。