- 文档首页
消息队列 RabbitMQ版
最佳实践
RabbitMQ 业务迁移
RabbitMQ 迁移上云(方案二)
RabbitMQ 业务迁移
RabbitMQ 迁移上云(方案二)
RabbitMQ 迁移上云(方案二)
本文介绍通过方案二将开源 RabbitMQ 集群或单机迁移到火山引擎消息队列 RabbitMQ版的操作步骤。
注意事项
- 业务迁移只迁移消息生产和消费链路,并不会迁移 RabbitMQ 旧集群上的消息数据。
- 创建 RabbitMQ 实例、迁移消息收发链路之前,请先确定 RabbitMQ 实例可正常访问,以免因访问异常造成迁移失败。您可以访问 RabbitMQ 实例详情页中对应协议的接入点,确认实例的网络连通性。
- 业务迁移之前,请确认您已根据业务需求选择了对应迁移方案。迁移方案对比请参考迁移概述。
环境准备
迁移之前,您需要根据业务量合理评估资源需求,并创建 RabbitMQ 实例及相关的依赖资源。
- 根据现有业务量和消息量估算所需的消息队列 RabbitMQ版资源,例如 TPS 峰值、建议队列数和最大连接数等。不同规格的 RabbitMQ 实例代表不同的计算能力及存储空间,请根据业务量合理评估资源需求。
- 确认资源需求之后,还需要准备相关资源,例如私有网络和子网、ECS 云服务器和 RabbitMQ 实例。
- 您需要创建私有网络和子网、购买 ECS 云服务器。迁移后您的服务需要和 RabbitMQ 实例处于相同的区域(Region)和 VPC 内,才能正常访问实例。
- 请根据业务量评估结果合理选择 RabbitMQ 实例的计算规格和存储规格,保证资源充足。
迁移元数据
迁移元数据需要将开源 RabbitMQ 的 Vhost、Exchange 和 Queue 等配置信息迁移到消息队列 RabbitMQ版的新实例中。迁移元数据时,并不会迁移队列中的消息数据。
- 从开源 RabbitMQ 中导出 Vhost 元数据。
- 在 Overview 页签中,展开 Export definitions,并填写文件名。
- 您可以选择 All 导出全部 Vhost 的元数据文件,或者选择某个 Vhost 名称,即导出指定 Vhost 的元数据文件。
- 单击 Download broker definitions。
- 在消息队列 RabbitMQ版中导入 Vhost 元数据。
- 通过 Web UI 接入点访问 RabbitMQ 开源控制台,并通过用户名及密码登录。
- 在 Overview 页签中,展开 Import definitions ,并选择前文中下载的元数据文件。
- 单击 Upload broker definitions 将元数据导入RabbitMQ实例中。
迁移消息服务
方案二先迁移新的生产端,但不消费,待旧的消息在旧消费端消费完成后再启动新的消费端开始消费。适用于消息消费时序敏感型或对有序消息有依赖的业务场景,例如 MySQL 的 binlog 日志消费。
- 自建 RabbitMQ 集群中的消费端持续消费存量旧消息。
- 在旧消息全部被旧消费者消费完毕后,下线旧消费者以及旧 RabbitMQ 集群。
- 为消息队列 RabbitMQ版实例启动新的消费端,开始消费消息。
- 新的生产者生产的消息开始被新消费者消费时,表示您已完成开源 RabbitMQ 迁移上云。
最近更新时间:2026.04.01 10:47:59