[發(fā)明專利]一種基于哨兵機(jī)制的MySQL故障切換方法及裝置在審
| 申請?zhí)枺?/td> | 202010582351.3 | 申請日: | 2020-06-23 |
| 公開(公告)號: | CN111831489A | 公開(公告)日: | 2020-10-27 |
| 發(fā)明(設(shè)計)人: | 呂志杰 | 申請(專利權(quán))人: | 新浪網(wǎng)技術(shù)(中國)有限公司 |
| 主分類號: | G06F11/20 | 分類號: | G06F11/20 |
| 代理公司: | 北京卓嵐智財知識產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 11624 | 代理人: | 郭智 |
| 地址: | 100193 北京市海淀區(qū)東北旺西路中關(guān)村*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 哨兵 機(jī)制 mysql 故障 切換 方法 裝置 | ||
本發(fā)明實施例提供一種基于哨兵機(jī)制的MySQL故障切換方法及裝置,其中,所述方法包括:通過哨兵節(jié)點定期監(jiān)控MySQL主庫節(jié)點,當(dāng)有一個哨兵節(jié)點發(fā)現(xiàn)所述MySQL主庫節(jié)點發(fā)生故障,則要求其他哨兵節(jié)點判斷所述MySQL主庫節(jié)點是否故障;若超過設(shè)定數(shù)量的哨兵節(jié)點判定所述MySQL主庫節(jié)點發(fā)生故障,則獲取每個哨兵節(jié)點根據(jù)其對應(yīng)的MySQL叢庫節(jié)點的資源信息給出的資源信息評分值;確定復(fù)制速度最快的MySQL叢庫節(jié)點,將復(fù)制速度最快的MySQL叢庫節(jié)點的復(fù)制點位的差異日志復(fù)制到每一個MySQL叢庫節(jié)點并執(zhí)行;確定所述資源信息評分值最大的MySQL叢庫節(jié)點為新的MySQL主庫節(jié)點,并修改元數(shù)據(jù)。根據(jù)本技術(shù)方案,通過哨兵機(jī)制,對機(jī)器信息采集到的信息做出綜合判斷,選擇最適合成為新主節(jié)點的MySQL節(jié)點。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體涉及一種基于哨兵機(jī)制的MySQL故障切換方法及裝置。
背景技術(shù)
MHA(Master High Availability)是由MySQL專家用Perl寫的一套MySQL故障切換方案以保障數(shù)據(jù)庫的高可用性,它的功能是能在10-30s之內(nèi)實現(xiàn)主MySQL故障轉(zhuǎn)移。
MHA故障轉(zhuǎn)移可以很好的幫我們解決主節(jié)點宕掉后從庫數(shù)據(jù)的一致性問題,同時最大化挽回故障發(fā)生后的數(shù)據(jù)。MHA里有兩個角色一個是node節(jié)點一個是manager節(jié)點,要實現(xiàn)這個MHA,必須最少要三臺數(shù)據(jù)庫服務(wù)器,一主多備,即一臺充當(dāng)主節(jié)點,一臺充當(dāng)主節(jié)點的備份機(jī),另外一臺是從屬機(jī),需要說明的是一旦主服務(wù)器宕機(jī),備份機(jī)即開始充當(dāng)主節(jié)點提供服務(wù),如果主服務(wù)器上線也不會再成為主節(jié)點了,因為如果這樣數(shù)據(jù)庫的一致性就被改變了。
在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:
1、現(xiàn)有的MySQL故障切換由于無法做到對元數(shù)據(jù)的修改,且不支持半同步復(fù)制模式下的故障切換,并且在故障切換中新選擇主節(jié)點的邏輯過于簡單,無法根據(jù)從庫所在機(jī)器的負(fù)載、內(nèi)存、磁盤類型作出選擇。導(dǎo)致新選擇的主節(jié)點可能會由于機(jī)器原因仍然無法滿足我們提供服務(wù)的標(biāo)準(zhǔn),導(dǎo)致我們對MySQL的服務(wù)質(zhì)量無法保證。
2、當(dāng)發(fā)生網(wǎng)絡(luò)分區(qū)時,現(xiàn)有的MHA由于只有一個manager節(jié)點,當(dāng)此manager節(jié)點正好和MySQL主庫節(jié)點在一個分區(qū)時,則不會進(jìn)行故障切換。這樣就會導(dǎo)致其他分區(qū)無法訪問到MySQL服務(wù)。
3、在提前知道MySQL主庫節(jié)點將無法提供服務(wù)時,如機(jī)房調(diào)整、交換機(jī)更換等,需要對MySQL節(jié)點提前人工切換到其他不受影響的機(jī)器上,而如果沒有元數(shù)據(jù)的信息,這些MySQL節(jié)點則無法進(jìn)行切換。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種基于哨兵機(jī)制的MySQL故障切換方法及裝置,通過哨兵機(jī)制,對機(jī)器信息采集到的信息做出綜合判斷,選擇最適合成為新主節(jié)點的MySQL節(jié)點。
為達(dá)到上述目的,一方面,本發(fā)明實施例提供了一種基于哨兵機(jī)制的MySQL故障切換方法,所述方法包括:
通過哨兵節(jié)點定期監(jiān)控MySQL主庫節(jié)點,當(dāng)有一個哨兵節(jié)點發(fā)現(xiàn)所述MySQL主庫節(jié)點發(fā)生故障,則指示其他哨兵節(jié)點判斷所述MySQL主庫節(jié)點是否發(fā)生故障;
若超過設(shè)定數(shù)量的哨兵節(jié)點判定所述MySQL主庫節(jié)點發(fā)生故障,則獲取每個哨兵節(jié)點根據(jù)其對應(yīng)的MySQL叢庫節(jié)點的資源信息提供的資源信息評分值;
確定復(fù)制速度最快的MySQL叢庫節(jié)點,將復(fù)制速度最快的MySQL叢庫節(jié)點的復(fù)制點位與其他每一個MySQL叢庫節(jié)點的相應(yīng)復(fù)制點位的差異日志分別復(fù)制到每一個對應(yīng)的MySQL叢庫節(jié)點并執(zhí)行;
確定所述資源信息評分值最大的MySQL叢庫節(jié)點為新的MySQL主庫節(jié)點,并根據(jù)所述新的MySQL主庫節(jié)點的差異日志,將其他MySQL叢庫節(jié)點指向新的MySQL主庫節(jié)點,并修改MySQL主庫節(jié)點切換時所對應(yīng)的元數(shù)據(jù)信息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于新浪網(wǎng)技術(shù)(中國)有限公司,未經(jīng)新浪網(wǎng)技術(shù)(中國)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010582351.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種機(jī)制蛋的制造方法
- 手機(jī)制式的校準(zhǔn)方法、系統(tǒng)及手機(jī)檢測設(shè)備
- 一種考慮激勵機(jī)制電量電價彈性矩陣的耗電量估測方法
- 選擇區(qū)塊鏈共識機(jī)制的方法、裝置以及共識節(jié)點
- 一種復(fù)合改性機(jī)制砂及其制備方法
- 一種存儲設(shè)備糾錯方法及糾錯裝置
- 區(qū)塊鏈中共識機(jī)制的處理方法、裝置和電子設(shè)備
- 一種建筑用機(jī)制砂整形裝置
- 通信方法、通信裝置及存儲介質(zhì)
- 一種網(wǎng)絡(luò)預(yù)約出租車市場準(zhǔn)入機(jī)制的優(yōu)化方法及系統(tǒng)
- 一種分布式數(shù)據(jù)庫擴(kuò)容的方法和系統(tǒng)
- 一種MySQL的批量化安裝部署方法
- 一種MySQL高可用性的實現(xiàn)方法及系統(tǒng)
- MySQL數(shù)據(jù)庫的集群系統(tǒng)
- 一種容器MySQL主從同步及性能采集實現(xiàn)方法及系統(tǒng)
- 一種Kubernetes容器平臺的MySQL數(shù)據(jù)同步方法及系統(tǒng)
- 一種基于哨兵機(jī)制的MySQL故障切換方法及裝置
- 基于OpenStack的MySQL數(shù)據(jù)庫自動創(chuàng)建方法、裝置及計算機(jī)存儲介質(zhì)
- 一種單應(yīng)用多MySQL Set的部署方法及系統(tǒng)
- 客戶端數(shù)據(jù)的獲取方法及裝置、存儲介質(zhì)、電子設(shè)備





