You need to enable JavaScript to run this app.
导航

迁移概述

最近更新时间2022.10.17 17:41:39

首次发布时间2022.05.31 11:12:33

本文介绍开源 RabbitMQ 集群或单机迁移到火山引擎消息队列 RabbitMQ版的迁移方案与迁移流程。

背景信息

火山引擎消息队列 RabbitMQ版具备原生 RabbitMQ 的所有消息处理特性,完全兼容开源 RabbitMQ社 区和 Queue、Exchange、Vhost 组件,云端单机或集群化部署。从自建 RabbitMQ 迁移至火山引擎消息队列 RabbitMQ版,免部署免运维,具备更高的稳定性和安全性,业务代码无需改造,便轻松实现迁移上云。

迁移方案

消息队列 RabbitMQ版提供以下两种迁移方案供您选择,请根据自身业务特点,谨慎选择迁移方案。

方案说明适用场景
方案一先建立新的消息生产与消费流程,旧集群同时消费存量的的旧消息直至消费完成。该方案无法保障消息消费的有序性,适用于对消息消费时序不敏感或对有序消息无依赖的业务场景,例如高并发场景下的订单提交。
方案二迁移新的生产端,但不消费,待旧的消息在旧消费端消费完成后再启动新的消费端开始消费。适用于消息消费时序敏感型或对有序消息有依赖的业务场景,例如 MySQL 的 binlog 日志消费。

迁移流程

  1. 环境准备。
    迁移之前,您需要根据业务量合理评估资源需求,并创建 RabbitMQ 实例及相关的依赖资源。
  2. 迁移元数据。
    将开源 RabbitMQ 的 Vhost、Exchange 和 Queue 等配置信息迁移到消息队列 RabbitMQ版上,包括队列个数和权限在内的配置信息均需要迁移。
  3. 迁移消息服务。
    • 方案一:先下线旧的生产端,并启动新的消费端和生产端,让新集群的生产和消费正常运行。待旧集群的消息被旧 Consumer 消费完成后,再关闭旧消费端,完成迁移上云。
      详细操作步骤请参考方案一
    • 方案二:迁移全量的消息生产端到新集群,待旧集群的消息被旧 Consumer 消费完成后,再迁移消费端,完成迁移上云。
      详细操作步骤请参考方案二