更新时间:2023-11-08 GMT+08:00
RabbitMQ业务迁移
应用场景
RabbitMQ业务迁移是指将线下单机或集群实例迁移到华为云RabbitMQ实例。
方案架构
方案如下:不迁移数据,先切换生产,再切换消费。
实施步骤
针对线下单机或集群实例,在不迁移数据的情况下,首先将消息生产切换到线上实例,不再生产消息到线下实例,消费方同时消费线下以及线上实例。当线下实例消息全部消费完后,将消息消费切换到线上实例,完成整个迁移过程。
- 该方案无法保障消息消费的有序性。
- 确保客户端与线上实例可连通。
通过以下方法,确认线下实例是否消费完成:
- 在RabbitMQ WebUI页面查看,如图1所示。
Overview视图中,可消费消息数(Ready)以及未确认的消息数(Unacked)都为0时,说明消费完成。
- 调用API查看。
curl -s -u username:password -XGET http://ip:port/api/overview
参数说明:
- username:线下实例登录RabbitMQ WebUI的账号
- password:线下实例登录RabbitMQ WebUI的密码
- ip:线下实例登录RabbitMQ WebUI的IP地址
- port:线下实例登录RabbitMQ WebUI的端口号
回显信息中“messages_ready”和“messages_unacknowledged”都为0时,说明消费完成。
图2 回显信息