[發明專利]基于Raft分布式恢復RabbitMQ網絡分區的方法及應用在審
| 申請號: | 202110700204.6 | 申請日: | 2021-06-23 |
| 公開(公告)號: | CN113438111A | 公開(公告)日: | 2021-09-24 |
| 發明(設計)人: | 張勝;胡進;廖橋生 | 申請(專利權)人: | 華云數據控股集團有限公司 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L29/08 |
| 代理公司: | 蘇州三英知識產權代理有限公司 32412 | 代理人: | 黃曉明 |
| 地址: | 214100 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 raft 分布式 恢復 rabbitmq 網絡 分區 方法 應用 | ||
本發明公開了一種基于Raft分布式恢復RabbitMQ網絡分區的方法及應用,所述方法包括以下步驟:RabbitMQ集群中的各RabbitMQ節點查詢各自的Raft數據庫,并分別確定該節點的當前角色狀態;所述RabbitMQ集群根據各RabbitMQ節點的當前角色狀態,執行分區故障恢復。根據本發明的基于Raft分布式恢復RabbitMQ網絡分區的方法及應用,能夠利用Raft算法的選舉主節點功能實現分布式恢復集群網絡分區故障的功能,避免單點故障的產生,并且根據Raft算法中RabbitMQ集群內超過半數節點的數據達到同步就認為RabbitMQ集群的數據一致,得到一致性Raft數據庫,避免腦裂的產生。
技術領域
本發明是關于計算機領域,特別是關于一種基于Raft分布式恢復RabbitMQ網絡分區的方法,以及應用該方法的系統、電子設備及存儲介質。
背景技術
目前企業在部署大規模數據中心Openstack云計算環境時,考慮到突發情況,通常會把關鍵性服務部署成集群模式,例如RabbitMQ消息隊列集群服務,通過把RabbitMQ啟動成集群模式,可以同時在多臺機器上對外服務,提升對外服務量,避免環境出現網絡故障或者機器故障導致單臺或多臺節點故障從而引起整體服務不可用,比傳統的非集群服務模式提升了服務的健壯性和可用性。
現有數據中心的RabbitMQ集群模式下網絡分區后故障恢復大多存在以下缺點:存在固定的中心節點,中心節點上運行監控腳本,當故障發生后,執行相應的動作,中心節點一旦出現問題,RabbitMQ集群也會無法正常工作;存在腦裂的可能,當偶數個RabbitMQ節點組成集群時,如果恰好網絡分區成一半,那么雙方會出現雙主問題,RabbitMQ集群會出現兩個,造成環境異常;以上這些情況,在數據中心出現問題時,故障恢復狀態查詢困難,需要執行專業命令進行查詢以及配置才能找到問題所在,增加運維困難。
公開于該背景技術部分的信息僅僅旨在增加對本發明的總體背景的理解,而不應當被視為承認或以任何形式暗示該信息構成已為本領域一般技術人員所公知的現有技術。
發明內容
本發明的目的在于提供一種基于Raft分布式恢復RabbitMQ網絡分區的方法及應用,以解決中心節點發生故障RabbitMQ集群無法正常工作,且可能出現雙主問題導致環境異常的問題。
為了實現上述目的,本發明的實施例提供了一種基于Raft分布式恢復RabbitMQ網絡分區的方法,包括以下步驟:RabbitMQ集群中的各RabbitMQ節點查詢各自的Raft數據庫,并分別確定該節點當前角色狀態;所述RabbitMQ集群根據各RabbitMQ節點的當前角色狀態,執行分區故障恢復。
在本發明的一個或多個實施方式中,所述RabbitMQ集群根據各RabbitMQ節點的當前角色狀態,執行分區故障恢復,具體包括:若故障RabbitMQ節點的角色狀態為主節點,則所述RabbitMQ集群發起Raft選舉,以從非故障RabbitMQ節點中選舉出新的主節點;所述新的主節點對所述RabbitMQ集群執行分區故障恢復。
在本發明的一個或多個實施方式中,還包括:在所述RabbitMQ集群發起Raft選舉時,若當前RabbitMQ節點的角色狀態為候選節點,則停止當前RabbitMQ節點的RabbitMQ服務。
在本發明的一個或多個實施方式中,若當前RabbitMQ節點的角色狀態為跟隨節點,則啟動當前RabbitMQ節點的RabbitMQ服務,并將當前RabbitMQ節點加入其它節點的RabbitMQ集群。
在本發明的一個或多個實施方式中,所述RabbitMQ集群根據各RabbitMQ節點的當前角色狀態,執行分區故障恢復,具體包括:若故障RabbitMQ節點的角色狀態不為主節點,則所述RabbitMQ集群的主節點對所述RabbitMQ集群執行分區故障恢復。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華云數據控股集團有限公司,未經華云數據控股集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110700204.6/2.html,轉載請聲明來源鉆瓜專利網。





