概述

云消息队列 RocketMQ 版支持Global Replicator功能,能够实现跨地域及跨实例的消息和消费进度同步。本文将介绍Global Replicator特性等信息。

功能简介

Global Replicator为您提供跨地域、跨实例的消息和消费进度同步能力,支持开源和商业集群的数据同步、异地灾备、异地多活等场景需求。

  • 跨地域数据同步

    支持在不同地域集群间实现消息与消费进度的同步,满足全球业务场景下低时延和高可用性的需求。

  • 跨实例无缝集成

    兼容开源和商业RocketMQ集群,可灵活同步消息和消费进度,实现混合云或多云架构下的数据流动。

  • 支持多种消息类型

    支持普通、顺序、定时/延时和事务消息的同步。

  • 支持消息和消费进度的同步

    在源实例故障时,支持一键更新消费进度,将目标实例Group的当前消费进度更新到源实例的当前消费进度,降低重复消费的消息数量。

  • 支持单向和双向任务

    双向同步任务默认具备防止数据循环同步能力。

说明

Global Replicator会占用云消息队列 RocketMQ 版的读、写性能,当使用Global Replicator能力时,请做好计算规格的评估。

1.云消息队列 RocketMQ 版消息同步结构示意

image

应用场景

Global Replicator中所有集群均是独立的实例,具备读、写服务。实例之间通过异步的方式完成消息数据的同步,可满足如下应用场景:

数据同步(单向同步)

单元(独立的业务环境)内业务就近处理,无需跨网络的数据访问,降低因网络带来的时效性问题。通过Global Replicator的跨地域,跨实例(支持开源和商业集群)的单向同步能力实现数据同步,接收数据的中心地域可针对同步上来的数据做统一的数据处理。

  • 典型行业:银行、证券、保险等。

  • 多单元+1中心架构。

2.云消息队列 RocketMQ 版数据汇聚架构

image

异地灾备(单向同步)

通过Global Replicator的单向同步能力实现跨地域、跨实例(支持开源和商业集群)高可用,提升数据安全性和系统可用性。当发生机房或地域级别故障时,可以快速恢复业务。

  • 典型行业:通用。

  • 两地两中心架构。

3.云消息队列 RocketMQ 版异地灾备架构

image

正常情况下,备地域/中心的应用无需运行,降低资源消耗,节省成本。当异常发生时,启动备地域/中心的应用,通过云消息队列 RocketMQ 版实例的重置消费位点能力,将源尽可能少的消费历史消息数据。消息需做好幂等处理,降低消费重复带来的业务影响。

异地多活(双向同步)

当业务进行单元化拆分,同时又要尽可能保障业务的连续性,可以通过Global Replicator的双向同步能力来实现跨实例(支持开源和商业集群)、多地域间的高可用。

  • 典型行业:金融,能源等涉及民生行业。

  • 两地两中心架构。

4.云消息队列 RocketMQ 版异地双向同步架构

image

通过Global Replicator做数据同步,同步过程中会对消息进行打标,生产应用无需额外的开发工作量,消费应用可根据云消息队列 RocketMQ 版提供的SQL92过滤方式,指定消费打标数据。

当发生异常时,业务自身保障,生产应用能够接管全量入口消息并投递到未发生异常的云消息队列 RocketMQ 版实例,消费应用通过配置变更修改过滤条件。通过云消息队列 RocketMQ 版实例的重置消费位点能力,尽可能少的消费其他地域的消息数据。消息需做好幂等处理,降低消费重复带来的业务影响。

技术架构

Global Replicator通过Connector完成异步消息同步机制实现跨地域数据同步,Connector具备分布式秒级扩缩容的弹性能力,并具备按照规则进行数据打标和断点续传的能力。跨地域间的网络通道采用企业网打通,实例间的消息数据都能保持同步且同步延迟都能够控制在秒级。

5.云消息队列 RocketMQ 版跨地域数据同步架构

image

消息请求说明

Global Replicator中每个云消息队列 RocketMQ 版实例都是独立实例,具备读、写能力,应用访问某个实例由应用中配置的实例接入点Endpoint决定。消息数据在两个实例间同步时,会对消息数据打标(通过userproperty设置Key、Value),消费应用可根据业务需要,对消息数据进行过滤,决策接收消费全量数据或本地数据。如下图所示,使用与消费处理请参见使用说明

6.云消息队列 RocketMQ 版消息同步过程中对消息打标

image

优势

  • 低代码开发:实例间的同步完全可以通过Global Replicator来实现,降低消息同步的代码开发工作量。

  • 配置灵活:可配置实例之间单向/双向的消息数据同步,并可用Global Replicator完成消息数据的打标,方便业务侧灵活的选择数据处理的范围。

  • 跨地域低延时同步:消息数据的同步能力技术选型采用事件总线EventBridge产品,高压力下全球同步延迟秒级,稳定性和弹性有保障。

费用说明

  • Global Replicator的同步通道依赖事件总线EventBridge产品,EventBridge的费用请参见计费说明

  • Global Replicator同步消息数据会占用云消息队列 RocketMQ 版源实例的读性能、目标实例的写性能,您需要额外评估云消息队列 RocketMQ 版产品计费

支持的地域和版本

  • 地域:覆盖云消息队列 RocketMQ 版已开服的地域,具体请参见源集群与目标集群地域映射表

  • 版本:

    • 云消息队列 RocketMQ 版4.0系列铂金版。

    • 云消息队列 RocketMQ 版5.0系列专业版、铂金版。

    • 支持云消息队列 RocketMQ 版铂金版与开源Apache RocketMQ集群构建同步关系。开源Apache RocketMQ的版本需要大于等于4.4.0版本。

一个云消息队列 RocketMQ 版实例支持与多个云消息队列 RocketMQ 版实例构建Global Replicator关系。

源集群与目标集群地域映射表

源集群与目标集群地域映射表

Global Replicator支持跨地域进行内网互通。源集群与目标集群所在地域映射表如下:

源集群所在地域

目标集群所在地域

4.0系列实例

5.0系列实例

4.0系列实例

5.0系列实例

  • 华北2(北京)

  • 华北1(青岛)

  • 华东2(上海)

  • 中国香港

  • 德国(法兰克福)

  • 华北3(张家口)

  • 美国(硅谷)

  • 华南1(深圳)

  • 英国(伦敦)

  • 日本(东京)

  • 阿联酋(迪拜)

  • 西南1(成都)

  • 新加坡

  • 马来西亚(吉隆坡)

  • 华北5(呼和浩特)

  • 印度尼西亚(雅加达)

  • 美国(弗吉尼亚)

  • 菲律宾(马尼拉)

  • 华东1(杭州)

  • 公网

  • 华北2(北京)

  • 华北6(乌兰察布)

  • 华北1(青岛)

  • 华东2(上海)

  • 中国香港

  • 华南2(河源)

  • 德国(法兰克福)

  • 华北3(张家口)

  • 美国(硅谷)

  • 华南1(深圳)

  • 英国(伦敦)

  • 韩国(首尔)

  • 日本(东京)

  • 华东6(福州-本地地域)

  • 西南1(成都)

  • 华南3(广州)

  • 新加坡

  • 马来西亚(吉隆坡)

  • 华北5(呼和浩特)

  • 印度尼西亚(雅加达)

  • 美国(弗吉尼亚)

  • 菲律宾(马尼拉)

  • 泰国(曼谷)

  • 华东1(杭州)

  • 华北2(北京)

  • 华北1(青岛)

  • 华东2(上海)

  • 中国香港

  • 德国(法兰克福)

  • 华北3(张家口)

  • 美国(硅谷)

  • 华南1(深圳)

  • 英国(伦敦)

  • 日本(东京)

  • 阿联酋(迪拜)

  • 西南1(成都)

  • 新加坡

  • 马来西亚(吉隆坡)

  • 华北5(呼和浩特)

  • 印度尼西亚(雅加达)

  • 美国(弗吉尼亚)

  • 菲律宾(马尼拉)

  • 华东1(杭州)

  • 公网

  • 华北2(北京)

  • 华北6(乌兰察布)

  • 华北1(青岛)

  • 华东2(上海)

  • 中国香港

  • 华南2(河源)

  • 德国(法兰克福)

  • 华北3(张家口)

  • 美国(硅谷)

  • 华南1(深圳)

  • 英国(伦敦)

  • 韩国(首尔)

  • 日本(东京)

  • 华东6(福州-本地地域)

  • 西南1(成都)

  • 华南3(广州)

  • 新加坡

  • 马来西亚(吉隆坡)

  • 华北5(呼和浩特)

  • 印度尼西亚(雅加达)

  • 美国(弗吉尼亚)

  • 菲律宾(马尼拉)

  • 泰国(曼谷)

  • 华东1(杭州)

相关文档