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





