RabbitMQ通过shovel插件迁移数据

Posted middleware

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ通过shovel插件迁移数据相关的知识,希望对你有一定的参考价值。

前言

生产环境中会遇到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的队列生产数据,数据也会被实时同步至北京。

技术分享图片

▲同步中:上海

技术分享图片

▲同步中:北京

技术分享图片

▲同步完成后:上海

技术分享图片

▲同步完成后:北京

 

以上是关于RabbitMQ通过shovel插件迁移数据的主要内容,如果未能解决你的问题,请参考以下文章

rabbitmq:消息远程复制(Shovel 插件)

rabbitmq shovel插件

rabbitmq级联之shovel插件

RABBITMQ - 应用插件失败

RabbitMQ的数据日志存放以及数据迁移

通过Navicat Premium迁移Oracle到EDB迁移实战