久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

MySQL中MHA源碼的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下MySQL中MHA源碼的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、信宜網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、信宜網(wǎng)絡(luò)營(yíng)銷、信宜企業(yè)策劃、信宜品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供信宜建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:sd-ha.com

MySQL的高可用方案很多,MHA算是其中最流行的一種方案之一。目前最新的版本是0.57,它分為兩部分,一部分水himanager,另外一部分是node.

了解學(xué)習(xí)一個(gè)開源項(xiàng)目,閱讀源碼是一個(gè)很不錯(cuò)的開始,所以MHA就成為了我學(xué)習(xí)的一個(gè)重點(diǎn)內(nèi)容。我們先從manager開始,當(dāng)然因?yàn)檫@個(gè)開源項(xiàng)目是基于perl開發(fā),磨刀不誤砍柴工,我們可以在開發(fā)IDE里面查看,這樣效率更高一些,比如使用eclipse,下載個(gè)插件即可。

整個(gè)工程的情況如下,bin目錄下是可執(zhí)行的perl腳本,引用的包體邏輯在lib下面的.pm文件中。

MySQL中MHA源碼的示例分析

對(duì)于node節(jié)點(diǎn)來(lái)說(shuō),也是類似的方式,只是node節(jié)點(diǎn)的邏輯內(nèi)容少了很多,主要集中在對(duì)于binlog的處理上。

使用MHA,啟停manager是一個(gè)基本的入口,所以我們可以在masterha_manager里查看。會(huì)發(fā)現(xiàn)腳本其實(shí)主要分為兩部分,masterMonitor和MasterFailover。我們就通過(guò)main方法來(lái)逐步了解。

MySQL中MHA源碼的示例分析

我們切換到MasterMonitor中,查看main方法的內(nèi)容。

MySQL中MHA源碼的示例分析

如果是在IDE里面就很容易看到對(duì)應(yīng)的.pm文件MasterMonitor.pm的一個(gè)結(jié)構(gòu)概覽,從main方法入手。

MySQL中MHA源碼的示例分析

整個(gè)Monitor的核心邏輯就是下面的方法了。這個(gè)邏輯是一個(gè)循環(huán)中進(jìn)行心跳的檢測(cè)機(jī)制。其中wait_until_master_is_dead就是一個(gè)重要方法了??梢皂樦@個(gè)方向繼續(xù)往里面看。

MySQL中MHA源碼的示例分析

另外一個(gè)重要的腳本就是masterha_master_switch了,主要是完成切換的內(nèi)容,如果查看腳本的基本結(jié)構(gòu)會(huì)發(fā)現(xiàn),通過(guò)檢測(cè)主節(jié)點(diǎn)的狀態(tài),會(huì)分別調(diào)用MasterFailover和MasterRotate來(lái)處理。

MySQL中MHA源碼的示例分析

failover的邏輯如下,我們可以查看對(duì)應(yīng)的pm文件MasterFailover.pm來(lái)查看邏輯。整體的邏輯如下圖所示,會(huì)分為幾個(gè)階段。每個(gè)階段會(huì)有一個(gè)整體的校驗(yàn)步驟。

MySQL中MHA源碼的示例分析

MySQL中MHA源碼的示例分析

通過(guò)上面的部分可以看到,整個(gè)切換的過(guò)程中,后臺(tái)會(huì)進(jìn)行一些列的邏輯檢查,比如查到當(dāng)前最新的slave節(jié)點(diǎn),如何補(bǔ)齊日志信息(本質(zhì)上就是通過(guò)mysqlbinlog基于時(shí)間戳來(lái)處理)

在這個(gè)基礎(chǔ)上,通過(guò)源碼我們可以看到很多不曾注意的細(xì)節(jié),比如如果在8個(gè)小時(shí)內(nèi)再次切換,是會(huì)直接拋錯(cuò)的。

MySQL中MHA源碼的示例分析

以上是“MySQL中MHA源碼的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

新聞標(biāo)題:MySQL中MHA源碼的示例分析-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://sd-ha.com/article8/deihop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站微信公眾號(hào)、電子商務(wù)、靜態(tài)網(wǎng)站響應(yīng)式網(wǎng)站、云服務(wù)器

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)