全球消息备份
全球消息备份功能可为您提供在同一个国家内,多个地域的多个云消息队列 RocketMQ 版实例之间消息同步的能力。本文将介绍全球消息备份特性等信息。
功能简介
全球消息备份中所有实例均是独立的实例,具备读、写服务,实例间通过异步的方式完成消息数据的同步,可满足如下应用场景:
数据汇聚
如果业务进行了单元化(独立的业务环境)建设,部署在多个地域,每个单元的数据具备唯一性,当中心单元需要获取各单元消息数据时,需要通过业务开发手段完成数据汇聚的业务需要。通过全球消息备份的跨地域低延迟同步的特性,可以确保各单元的数据汇聚到中心单元。
异地灾备
不论业务部署在一个或多个地域,都能通过全球消息备份实现异地灾备。当主实例出现地域级别的故障时,您可以通过业务侧切换访问实例,即可快速恢复业务。
异地多活
当业务发展到一定的规模,您可能会进行业务单元化建设,部署在多个地域,不同地域的业务是一个独立的闭环。为了提高业务服务的连续性,您可能会进行多活的容灾建设。通过全球消息备份的跨地域低延迟同步、双向备份数据自动打标,可以确保各地域的应用正常情况下仅处理本地域数据,异常情况下处理全量数据。
全球消息备份目前仅支持普通类型消息备份,高级特性(顺序,定时/延时,事务)类型消息暂不支持。
全球消息备份仅完成消息数据的全量同步,不包含消费位点,切换访问实例需要业务侧完成。
全球消息备份通过异步的方式进行实例间消息的单向/双向同步,延迟控制在秒级。
全球消息备份会占用云消息队列 RocketMQ 版的读、写性能,当使用全球消息备份能力时,请做好计算规格的评估。
全球消息备份细粒度到Topic级,在配置全球消息备份任务时,可以选择实例中的全部Topic或指定Topic。
图1.云消息队列 RocketMQ 版消息同步结构示意
技术架构
全球消息备份通过Connector完成异步消息同步机制实现跨地域数据备份,Connector具备分布式秒级扩缩容的弹性能力,并具备按照规则进行数据打标和断点续传的能力。跨地域间的网络通道采用企业网打通,实例间的消息数据都能保持同步且同步延迟都能控制在秒级。
图2.云消息队列 RocketMQ 版跨地域消息同步架构
消息请求说明
全球消息备份中每个云消息队列 RocketMQ 版实例都是独立实例,具备读、写能力,应用访问某个实例由应用中配置的实例接入点Endpoint决定。消息数据在两个实例间同步时,会对消息数据打标(通过userproperty设置Key、Value),消费应用可根据业务需要,对消息数据进行过滤,决策接收消费全量数据或本地数据。如下图所示,使用与消费处理请参见使用说明。
图3.云消息队列 RocketMQ 版消息同步过程中对消息打标
优势
低代码开发:实例间的同步完全可以通过全球消息备份来实现,降低消息同步的代码开发工作量。
配置灵活:可配置实例间单向/双向的消息数据同步,并可用全球消息备份完成消息数据的打标,方便业务侧灵活的选择数据处理的范围。
跨地域低延时同步:消息数据的同步能力技术选型采用事件总线EventBridge产品,高压力下全球同步延迟秒级,稳定性和弹性有保障。
费用说明
支持的地域和版本
地域:覆盖云消息队列 RocketMQ 版已开服的地域,具体请参见源集群与目标集群地域映射表。
版本:
云消息队列 RocketMQ 版4.0系列铂金版。
云消息队列 RocketMQ 版5.0系列专业版、铂金版。
支持云消息队列 RocketMQ 版铂金版与开源Apache RocketMQ集群构建备份关系。开源Apache RocketMQ的版本需要大于等于4.4.0版本。
一个云消息队列 RocketMQ 版实例支持与多个云消息队列 RocketMQ 版实例构建全球消息备份关系。
源集群与目标集群地域映射表
全球消息备份支持跨地域进行内网互通。全球消息备份源集群与目标集群所在地域映射表如下:
源集群所在地域 | 目标集群所在地域 | ||
4.0系列实例 | 5.0系列实例 | 4.0系列实例 | 5.0系列实例 |
|
|
|
|