[發明專利]一種RabbitMQ集群的遷移方法及計算機系統在審
| 申請號: | 202110015629.3 | 申請日: | 2021-01-06 |
| 公開(公告)號: | CN112769617A | 公開(公告)日: | 2021-05-07 |
| 發明(設計)人: | 徐衛民 | 申請(專利權)人: | 武漢紫闌信息技術有限公司 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L29/08 |
| 代理公司: | 上海金盛協力知識產權代理有限公司 31242 | 代理人: | 嚴帥 |
| 地址: | 430070 湖北省武漢市東湖新技術開發區金*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 rabbitmq 集群 遷移 方法 計算機系統 | ||
1.一種RabbitMQ集群的遷移方法,其特征在于,該方法包括:將原RabbitMQ集群中元數據備份到新RabbitMQ集群中的元數據備份階段,將客戶端的連接目標從原RabbitMQ集群切換為新RabbitMQ集群的客戶端連接切換階段,以及將原RabbitMQ集群消息隊列中未消費消息導入到新RabbitMQ集群消息隊列中的堆積消息導入階段;
其中、所述元數據備份階段包括:在新RabbitMQ集群搭建完成、狀態無誤后,停止原RabbitMQ集群上的聯合消息隊列(federation)插件,參照原集群VHost節點組織結構在新集群中創建相同組織結構的Vhost節點群;在新RabbitMQ集群的每個Vhost節點上創建一個最高優先級別負載平衡策略,使所述每個VHost節點將當前創建的消息隊列的主控權(master)創建于當前擁有最少主控權(master)的節點上以保證新RabbitMQ集群中每個消息節點上的消息隊列數量均衡;在創建完負載平衡策略后將原集群的元數據導入到所述新RabbitMQ集群,導入完畢后刪除每個VHost節點上的所述負載均衡策略;所述VHost節點為RabbitMQ集群中控制消息隊列queue建立的虛擬主控制節點,其在RabbitMQ中用作消息隊列queue的命名空間,不同VHost節點上的資源相互隔離。
2.如權利要求1所述的方法,其特征在于,所述客戶端連接切換階段包括:設置客戶端均通過代理層連接到原RabbitMQ集群和新RabbitMQ集群;在進行RabbitMQ集群切換時,在所述代理層的配置中將客戶端連接的地址由原RabbitMQ集群的地址改為新RabbitMQ集群的地址后、重啟所述代理層使,客戶端新創建的連接將被所述代理層路由到所述新RabbitMQ集群;然后批量調用RabbitMQ的關閉連接(close Connection)接口將所有已經連接到原RabbitMQ集群的連接斷開、促使相應的客戶端重新創建的新連接后,由所述代理層將所述新連接路由到新RabbitMQ集群。
3.如權利要求2所述的方法,其特征在于,所述堆積消息導入階段包括:在所述代理層重啟完成后,原RabbitMQ集群中的消息隊列和新RabbitMQ集群消息隊列數量相等,在原集群中的每個消息隊列上分別創建一個shovel插件以及與該shovel插件綁定的新交換機,每個所述新交換機直接綁定新集群中的消息隊列中一個,所述新交換機與其綁定的新集群中的消息隊列形成一對一的關系;通過所述創建的shovel插件將原RabbitMQ集群消息隊列中未消費的消息導入新集群中的消息隊列后,將所述shovel插件及其綁定交換機刪除以完成RabbitMQ集群的遷移;所述Shovel插件是RabbitMQ軟件系統提供的、用于從隊列中拉取消息的插件。
4.如權利要求1-3中任一項所述的方法,其特征在于,該方法還包括:在所述元數據備份階段提供用于設置進行遷移的所述原RabbitMQ集群和所述新RabbitMQ集群的操作界面,并在所述操作界面上顯示原RabbitMQ集群和新RabbitMQ集群的版本號、Erlang版本、各種插件信息以及新RabbitMQ集群的準備狀態方便用戶進行核查;提供用于為新RabbitMQ集群中創建好的每個Vhost節點創建負載平衡策略的配置界面;并在將元數據備份完成后將原RabbitMQ集群和新RabbitMQ集群的元數據對比結果展示在相應頁面上。
5.如權利要求1-3中任一項所述的方法,其特征在于,該方法還包括:在所述客戶端連接切換階段之前保存原RabbitMQ集群的連接數,并在客戶端連接切換過程中通過頁面實時顯示原RabbitMQ集群和新RabbitMQ集群的連接數變化。
6.如權利要求1-3所述的方法,其特征在于,該方法還包括:在所述堆積消息導入階段,通過頁面實時顯示原RabbitMQ集群的消息堆積數。
7.一種用于RabbitMQ集群遷移的計算機系統,其特征在于,該系統用于執行計算機程序代碼以實現如權利要求1-6中任一項所述的RabbitMQ集群的遷移方法。
8.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質上存儲有可執行代碼,計算機的處理器在執行所述可執行代碼實現如權利要求1-6中任一項所述的RabbitMQ集群的遷移方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢紫闌信息技術有限公司,未經武漢紫闌信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110015629.3/1.html,轉載請聲明來源鉆瓜專利網。





