
生产环境中会遇到 RabbitMQ 数据迁移的场景,例如:切换云服务厂商、不同 Region 之间数据迁移、新搭建 RabbitMQ 实例,数据需要同步至新的 RabbitMQ 实例。
前提条件:
源 RabbitMQ 实例打开了 shovel 插件。
目的 RabbitMQ 实例打开了 shovel 插件。
源实例与目的实例能够网络互通。
当前以华为云不同 Region 下 RabbitMQ 实例数据迁移为例子。已在华为云北京 Region、上海 Region 各创建一个集群实例。现在需要将上海 Region 的数据迁移至北京 Region。
操作步骤
1 上海 Region、北京 Region 实例都打开 Shovel 插件。上海 Region 的实例有 3 个队列,且每个队列中有 10000 条数据:

2 上海 Region、北京 Region 实例都绑定好公网 ip。
3 在北京 Region 新申请一台单机实例,绑定好公网 ip,打开 Shovel 插件,用作数据中转。
4 登录单机实例的管理控制台,Admin -> Shovel Management。

5 配置 Shovel

6 配置完成后如下图:

7 通过 Shovel Status 可以看 Shovel 的状态

8 此时上海 Region 的 RabbitMQ 实例中的队列数据已经为 0,而北京 Region 的 RabbitMQ 实例中的队列数据为 10000 条,可以看到数据已经完整迁移过来了。

上海

上海
9 此时再向上海 Region 的队列生产数据,数据也会被实时同步至北京。

同步中:上海

同步中:北京

同步完成后:上海

同步完成后:北京
本文转载自公众号中间件小哥(ID:huawei_kevin)。
原文链接:
https://mp.weixin.qq.com/s/-4yKs1Cw5AMwigSVvlNUxA
评论