实践丨rabbitmq通过shovel插件迁移数据

author author     2022-12-13     486

关键词:

前言

生产环境中会遇到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插件)

参考技术A官网参考:https://www.rabbitmq.com/shovel.htmlShovel可以实现在两个rabbitmq之间进行消息的远程复制。利用该组件,可以实现如下业务场景:cmd下运行在Docker下启动rabbitmq容器,并通过--name指定容器名字为rabbitmq1进入容器成功进... 查看详情

rabbitmq级联之shovel插件

...面原因比如安全原因、系统间隔离,我们需要实现在多个rabbitmq实例或者一个rabbitmq实例的多个vhost间推送消息。在上一版的实现中,公司使用java自行实现了一个类似转发器的功能,其结构为:内部MQ->java-pusher->外部MQ其中在j... 查看详情

rabbitmqshovel插件

官网说明https://www.rabbitmq.com/shovel.html#management-status启用shovel插件命令:rabbitmq-pluginsenablerabbitmq_shovelrabbitmq-pluginsenablerabbitmq_shovel_management 查看已经安装的插件rabbitmq-pluginslist sho 查看详情

数据库实践丨使用mtk迁移mysql源库后主键自增列导致数据无法插入问题

摘要:用户使用Mogdb2.0.1版本进行业务上线测试,发现在插入数据时,应用日志中提示primarykey冲突,用户自查业务SQL没有问题,接到通知后,招手处理故障。本文分享自华为云社区《​​使用MTK迁移Mysql源库后主键自增列导致数... 查看详情

tidb在平安科技丨从oracle迁移到ubisql的实践

作者介绍熊浪,平安科技资深数据库架构师,在关系型和非关系型分布式数据库技术领域具有丰富的经验,担任平安集团去O分布式项目经理,负责分布式数据库选型和架构设计工作。平安科技是平安集团旗下科技解决方案专家... 查看详情

rabbitmq之federationexchangefederationqueueshovel(代码片段)

文章目录1、FederationExchange(联邦交换机)1.1为什么使用联邦交换机1.2搭建步骤1.2.1需要保证每台节点单独运行1.2.2在每台机器上开启federation相关插件1.2.3原理图(先运行consumer在node2创建fed_exchange)1.2.4在downstream(node2)配置upstream(node1)1.2.... 查看详情

RABBITMQ - 应用插件失败

】RABBITMQ-应用插件失败【英文标题】:RABBITMQ-ApplyingPluginFailed【发布时间】:2018-03-1600:55:13【问题描述】:编辑:在系统环境变量中设置rabbitmq变量并尝试再次卸载/重新安装后,问题得到解决。以下插件已启用:rabbitmq_shovel正在... 查看详情

数据库实践丨使用mtk迁移mysql源库后主键自增列导致数据无法插入问题(代码片段)

摘要:用户使用Mogdb2.0.1版本进行业务上线测试,发现在插入数据时,应用日志中提示primarykey冲突,用户自查业务SQL没有问题,接到通知后,招手处理故障。本文分享自华为云社区《使用MTK迁移Mysql源库后... 查看详情

数据库实践丨使用mtk迁移mysql源库后主键自增列导致数据无法插入问题(代码片段)

摘要:用户使用Mogdb2.0.1版本进行业务上线测试,发现在插入数据时,应用日志中提示primarykey冲突,用户自查业务SQL没有问题,接到通知后,招手处理故障。本文分享自华为云社区《使用MTK迁移Mysql源库后... 查看详情

rabbitmq集群原理

RabbitMQ分布式部署有3种方式:集群、Federation和Shovel。这三种方式并不是互斥的,可以根据需求选择相互组合来达到目的,后两者都是以插件的形式进行设计,复杂性相对高,此篇只聊一下RabbitMQ自带的内建集群。?我们把部署Rabbi... 查看详情

消息队列之rabbitmq-分布式部署

参考技术ARabbitMQ分布式部署有3种方式:Federation与Shovel都是以插件的形式来实现,复杂性相对高,而集群是RabbitMQ的自带属性,相对简单。这三种方式并不是互斥的,可以根据需求选择相互组合来达到目的。RabbitMQ本身是基于Erlang... 查看详情

干货丨数据库分库分表基础和实践

数据库架构的演变在业务数据量比较少的时代,我们使用单机数据库就能满足业务使用,随着业务请求量越来越多,数据库中的数据量快速增加,这时单机数据库已经不能满足业务的性能要求,数据库主从复制架构随之应运而生... 查看详情

无法通过 PHPmyAdmin 导入 Wordpress 数据库 - 无法通过插件执行迁移

】无法通过PHPmyAdmin导入Wordpress数据库-无法通过插件执行迁移【英文标题】:Can\'tImportWordpressDatabaseviaPHPmyAdmin-Can\'tPerformMigrationViaPlugin【发布时间】:2015-07-1121:33:33【问题描述】:我通常使用wp_sync_db插件为wordpress安装迁移数据库... 查看详情

开发者实践丨盲水印插件:用户端的实时视频溯源保护

本文作者是RTE2021创新编程挑战赛获奖者董章晔团队。在实时音视频领域,视频内容会需要得到版权保护,而盲水印则是保护的措施之一。这支参赛团队基于声网SDK开发了一款应用于用户端的实时视频盲水印插件。其他使... 查看详情

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

一、rabbitMQ的数据和日志的存储位置当我们安装rabbitMQ时,系统RabbitMQ默认读取的配置文件路径在%AppData%\\RabbitMQ中,我们可以从以下脚本文件中可以看出: 想找到这个存储位置,一般我们就可以先去该文件路径查看有没有最... 查看详情

ddm实践系列丨分布式数据库中间件使用经验分享

最近公司新项目使用了华为云的DDM分布式数据库中间件服务,通过一段的时间的使用感觉还不错。近段时间发现有许多小伙伴也准备去使用这个服务,所以为大家分享一下使用创建DDM服务的经验,帮助小伙伴们少走弯路。首先在... 查看详情

实践解析丨如何通过webassembly在web进行实时视频人像分割

...Agora在Web实时视频人像分割技术的应用落地,分享了实践经验。以下为演讲分享整理。RTC行业在近几年的发展日新月异,在线教育、视频会议等场景繁荣蓬勃。场景的发展也给技术提出了更高的要求。于是 查看详情

Laravel 迁移 - 永远保留它们?啥是最佳实践?

】Laravel迁移-永远保留它们?啥是最佳实践?【英文标题】:LaravelMigrations-keepthemforever?Whatisbestpractice?Laravel迁移-永远保留它们?什么是最佳实践?【发布时间】:2015-04-2503:05:58【问题描述】:我已经与Laravel合作了大约几个月-喜... 查看详情