前言html
生產環境中會遇到RabbitMQ數據遷移的場景,例如:切換雲服務廠商、不一樣Region之間數據遷移、新搭建RabbitMQ實例,數據須要同步至新的RabbitMQ實例。網絡
前提條件:插件
源RabbitMQ實例打開了shovel插件。3d
目的RabbitMQ實例打開了shovel插件。htm
源實例與目的實例可以網絡互通。blog
當前以華爲雲不一樣Region下RabbitMQ實例數據遷移爲例子。已在華爲雲北京Region、上海Region各建立一個集羣實例。如今須要將上海Region的數據遷移至北京Region。rabbitmq
操做步驟隊列
一、上海Region、北京Region實例都打開Shovel插件。上海Region的實例有3個隊列,且每一個隊列中有10000條數據:ip
二、上海Region、北京Region實例都綁定好公網ip。get
三、在北京Region新申請一臺單機實例,綁定好公網ip,打開Shovel插件,用做數據中轉。
四、登陸單機實例的管理控制檯,Admin -> Shovel Management。
五、配置Shovel
六、配置完成後以下圖:
七、經過Shovel Status能夠看Shovel的狀態
八、此時上海Region的RabbitMQ實例中的隊列數據已經爲0,而北京Region的RabbitMQ實例中的隊列數據爲10000條,能夠看到數據已經完整遷移過來了。
▲上海
▲上海
九、此時再向上海Region的隊列生產數據,數據也會被實時同步至北京。
▲同步中:上海
▲同步中:北京
▲同步完成後:上海
▲同步完成後:北京