[發明專利]一種RabbitMQ集群的遷移方法及計算機系統在審
| 申請號: | 202110015629.3 | 申請日: | 2021-01-06 |
| 公開(公告)號: | CN112769617A | 公開(公告)日: | 2021-05-07 |
| 發明(設計)人: | 徐衛民 | 申請(專利權)人: | 武漢紫闌信息技術有限公司 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L29/08 |
| 代理公司: | 上海金盛協力知識產權代理有限公司 31242 | 代理人: | 嚴帥 |
| 地址: | 430070 湖北省武漢市東湖新技術開發區金*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 rabbitmq 集群 遷移 方法 計算機系統 | ||
本發明公開了一種RabbitMQ集群的遷移方法及系統。該方法采用負載平衡策略避免元數據導入新RabbitMQ集群時、消息隊列集中建立在某個節點上,實現消息隊列在新RabbitMQ集群中消息節點上分布均衡;通過在客戶端和RabbitMQ集群之間增加代理層、通過配置、重啟所述代理層將客戶端的連接路由到新RabbitMQ集群以實現客戶端對RabbitMQ集群連接的無感切換。最后、直接創建原RabbitMQ集群消息隊列到新RabbitMQ集群消息隊列的、并綁定新交換機的shovel插件進行堆積消息的拉取,以避免在新的RabbitMQ集群中導致消息重復。此外、本發明的方案還提供整體操作流程的導向頁面,方便用戶進行操作。
技術領域
本發明涉及后臺系統的升級或遷移領域,具體涉及一種RabbitMQ集群的遷方法及計算機系統。
背景技術
目前業界RabbitMQ集群遷移/升級通常采用藍綠集群并行部署的方案,其中藍集群為原集群、綠集群為新集群。通過將消息隊列RabbitMQ的流量從原集群中的舊版本切換到新集群上的空閑版本以消除RabbitMQ系統升級時的服務停止時間。整個RabbitMQ集群遷移升級過程通常包括以下步驟:
1.部署一個新RabbitMQ集群(綠集群),在集群升級時、新集群上消息隊列RabbitMQ版本可為新版本。
2.在原RabbitMQ集群(藍集群)的控制管理頁面上導出其所有元數據文件,其中所述元數據包括了虛擬主控制節點vhost,用戶信息,策略(Policy),交換機信息(Exchange),隊列(Queue)信息,以及隊列和交換機的綁定關系等。
3.在新RabbitMQ集群(綠集群)的控制管理頁面上導入第2步中導出的元數據文件。
4.在新RabbitMQ集群上創建到原RabbitMQ集群的聯合隊列(FederationUpstream),使得能夠將原集群的消息拉取到新集群上;Federation是RabbitMQ軟件系統的一個插件,能夠在兩個個集群之間建立一條連接,將一個RabbitMQ集群的隊列(Queue)中的消息拉取到另一個RabbitMQ集群對應的隊列Queue里。如果新RabbitMQ集群上還沒有消費者(用于提取消息的一方),那么新RabbitMQ集群將暫時處于空閑狀態。
5.開始將原RabbitMQ集群(藍集群)的消費者切換到新RabbitMQ集群上,這一步關鍵是要將消費者的連接地址修改為新RabbitMQ集群(綠集群)的地址,通常在連接地址修改后需要重啟消費者客戶端才能生效。
6.消費者切換完成后,將由第4步配置的聯合隊列(federation queue)將發送至原RabbitMQ集群隊列中的消息將路由至新RabbitMQ集群的隊列中。
7.將原RabbitMQ集群(藍集群)的生產者(產生消息并發送給RabbitMQ集群的一方)的連接地址配置修改為新集群(綠集群)的地址,通常需要重啟生產者客戶端才能生效。
8.當原RabbitMQ集群(藍集群)上所有的連接都切換至新RabbitMQ集群(綠集群)后,且原RabbitMQ集群上不存在未消費的消息時,將老集群下線以完成整個RabbitMQ集群的遷移升級。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢紫闌信息技術有限公司,未經武漢紫闌信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110015629.3/2.html,轉載請聲明來源鉆瓜專利網。





