云消息队列备份 | CKafka、TDMQ 消息队列数据备份到 COS
前言
随着业务规模的不断扩大,企业越来越重视构建高性能、高可用的大型分布式系统。为了解决应用耦合,合理进行流量削锋,腾讯云提供了包括 CKafka 和 TDMQ 在内的一系列消息队列中间件。为了更方便地对消息队列中的数据进行转存和持久化,腾讯云对象存储 COS 为用户提供了云消息队列备份的能力。
一、云消息队列备份方案-使用 COS 应用集成备份
COS 应用集成 是腾讯云对象存储 COS 基于 Serverless 云函数,为开发者提供的存储数据应用解决方案。开发者只需要在 COS 控制台一键配置,即可使用丰富的功能。
COS 应用集成提供了云消息队列备份的能力,开发者可以轻松配置定时备份任务,将云消息队列中的消息记录以文件的形式转至对象存储,以便进行持久化保存。开发者可以通过备份文件提取消息记录,对消息进行入库、统计分析等操作。

二、方案优势
- 存储成本低:对象存储支持数据归档和降冷,长期存储成本低;
- 可视化操作:一键配置,简化开发流程,无需编码工作;
- 指定范围:可指定消费的起始位置,排除不需要的记录;
- 消息聚合:可按分钟维度聚合消息记录,并支持修改时间粒度;
- 自动化执行:云函数自动完成云消息队列CKafka / TDMQ 的数据备份,中间过程无需任何人工操作;
三、云消息队列介绍
**消息队列 **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 设置与之相似:
- 登录腾讯云 对象存储 COS 控制台。
- 在左侧导航中,单击【应用集成】,找到【CKafka消息备份】。
- 单击【配置备份规则】,进入规则配置页面。
- 单击【添加函数】。注意:如果您尚未开通云函数服务,请前往 云函数控制台 开通云函数服务,按照提示完成服务授权即可。
- 在弹出的窗口中,配置如下信息:

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.添加配置后,单击【确认】,即可看到函数已添加完成。

五、查看备份文件
等待一段时间后,可以看到存储桶下投递了备份文件,其内容的每行代表一条消息记录。



好了,本期关于云备份方案将分享到这里,欢迎点击“链接”,查看更多云消息队列备份攻略。
云消息队列备份 | CKafka、TDMQ 消息队列数据备份到 COS的更多相关文章
- linux的文件处理(匹配 正则表达式 egrep awk sed)和系统、核心数据备份
文件处理 1.处理方式 匹配 正则表达式 egrep awk sed 2.文件中的处理字符 \n 新行符 换行 \t 制表符 tab键 缺省8个空格 \b 退格符 backspace键 退格键 ...
- 数据备份的OSS接口
最近在做一个新的项目,从RDS备份到OSS,进行数据备份以及后续的还原.这边对阿里云的OSS数据上传接口进行说明,先做下笔记先简单介绍下OSS: ①Object 在OSS中,用户操作的基本数据单元是O ...
- Lotus防病毒与数据备份案例
Lotus防病毒与数据备份案例 上文(http://chenguang.blog.51cto.com/350944/1334595)中我们已安装好了Domino服务器,这节里我们需要考虑安全解决方案, ...
- ocp11g培训内部教材_053课堂笔记(043)_数据备份
053:数据库高级管理: 目录 第一部分:数据库备份与恢复... 4 第一章:备份恢复概述... 4 1.1 备份的意义: 4 1.2 数据库故障的类型:... 4 1.3 制定你的备份和恢复的计划. ...
- MySQL 数据备份与还原 转载
MySQL 数据备份与还原 一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldum ...
- tableau server 数据备份及恢复
tableau server 数据备份及恢复 一.数据备份 1> win+r,进入到dos命令行模式 2> 进入到tableau server的bin路径下 cd C:\Program F ...
- 阿里云ACE共创空间——MQ消息队列产品测试
一.产品背景消息队列是阿里巴巴集团自主研发的专业消息中间件. 产品基于高可用分布式集群技术,提供消息订阅和发布.消息轨迹查询.定时(延时)消息.资源统计.监控报警等一系列消息云服务,是企业级互联网架构 ...
- Spring boot实战项目整合阿里云RocketMQ (非开源版)消息队列实现发送普通消息,延时消息 --附代码
一.为什么选择RocketMQ消息队列? 首先RocketMQ是阿里巴巴自研出来的,也已开源.其性能和稳定性从双11就能看出来,借用阿里的一句官方介绍:历年双 11 购物狂欢节零点千万级 TPS.万亿 ...
- C# Azure 消息队列ServiceBus (服务总线队列)
1. 前言 在阅读本文之前,可以查看微软官方的说明. https://www.azure.cn/documentation/articles/service-bus-create-queues/ 2. ...
- RabbitMQ消息队列(六)-消息任务分发与消息ACK确认机制(.Net Core版)
在前面一章介绍了在.Net Core中如何使用RabbitMQ,至此入门的的部分就完成了,我们内心中一定还有很多疑问:如果多个消费者消费同一个队列怎么办?如果这几个消费者分任务的权重不同怎么办?怎么把 ...
随机推荐
- 暑假集训CSP提高模拟2
A.活动投票 主元素问题,用摩尔投票 #include<bits/stdc++.h> using namespace std; int n,a=-1,acnt,x; int main(){ ...
- 《MySQL 5.7从入门到精通(视频教学版)》代码课件教学视频下载
<MySQL 5.7从入门到精通(视频教学版)>代码课件教学视频下载 https://pan.baidu.com/s/1ZufDV6a_PEnjp-Bdh4IkuQ 提取码:vgnr 无版 ...
- 使用 Docker 部署 MySql
前言 虽然不建议将需要持久化的数据保存在容器中,但是自己平时做个小项目玩玩还是没什么问题的. 拉取镜像 docker pull mysql 不加 tag 的话默认从 DockerHub 拉取最新版本的 ...
- OOP的核心思想
1. 封装 既是信息封装,把一些信息进行封装成对象,只保留部分接口和方法与外部联系,能有效避免程序间相互依赖,实现代码模块间松藕合 : 2. 继承 子类自动继承父类的属性和方法,继承实现了代码的重用性 ...
- day03-了解ajax
Ajax Ajax即Asynchronous Javascript And XML(异步JavaScript和XML). Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,这使得程 ...
- python模拟发送、消费kafka消息
参考文章: https://zhuanlan.zhihu.com/p/279784873 生产者代码: import traceback from kafka import KafkaProducer ...
- Webpack热加载显示 'Cannot get /' 解决办法
安装webpack-dev-server后,用 npm 打包运行,打开后显示 'Cannot get /' : 需要在webpack.config.js的devServer中添加以下代码: 现在再次运 ...
- Marklogic学习 系列专栏整理
Marklogic学习 系列专栏整理 本人就是个松鼠怪,见到好东西都想收藏,在CSDN发现了这位博主写的一系列MarkLogic相关专栏觉得不错,今天已经看到第六个了,反正很好吃,趁着最近项目使用Ma ...
- 使用NodeJS 搭建 Vue + TypeScipt 快速构建工具
使用 NodeJS 搭建 Vue + TypeScipt 快速构建工具 前言: 为保证使用 Typescript 开发 Vue 的规范性和开发效率,添加组件.页面.路由.store 的时候尽量使用工具 ...
- 从编译链接到cmake
.c(.cpp)文件到可执行文件 对于一份简单的.c/.cpp为后缀的源文件,他所使用的语言是人类可以阅读并看懂的,但是对于计算机来说,其可理解并执行的是二进制的机器码. 也就是说,计算机所能运行的是 ...