這是一篇雜談…………
前文介紹單節(jié)點(diǎn)寫的雙主結(jié)構(gòu),和failover。
后文…………就當(dāng)個(gè)段子看看吧,是談?wù)撋畹碾s談。
在MySQL HA方案中,有一個(gè)基于復(fù)制的簡(jiǎn)單架構(gòu),需要三臺(tái)MySQL實(shí)例,正常的情況下,結(jié)構(gòu)是這樣的,其中紅色的箭頭代表寫請(qǐng)求。
可以把它叫作“單節(jié)點(diǎn)寫主主復(fù)制”。
注,此處為簡(jiǎn)化,Proxy的存在被略去。

簡(jiǎn)單的介紹一下這個(gè)結(jié)構(gòu):
雖說(shuō)是雙主,但此處的復(fù)制結(jié)構(gòu)為單節(jié)點(diǎn)寫,按Oracle Dataguard的說(shuō)法:
即M1作為真正的Primary,而M2作為Standby,S作為Primary的從庫(kù)。
假設(shè)M1和M2和S為姓名,那么Primary和standby就是它的職能……
而Client在此處作為三臺(tái)實(shí)例存在的必要,因?yàn)橛蠧lient的業(yè)務(wù)請(qǐng)求,才有M1、M2和S的存在。
那么這三臺(tái)實(shí)例(或者說(shuō)三個(gè)數(shù)據(jù)庫(kù)成員)在這樣的架構(gòu)中,起到什么作用呢?
M1:作為Primary,一直在頂著client給它的各種請(qǐng)求,包括寫,也包括讀。
M2:當(dāng)M1出現(xiàn)故障的時(shí)候,作為Standby的M2會(huì)頂替M1,搶占VIP,此時(shí)M2的開(kāi)始接收client給它的讀寫請(qǐng)求。
S:它的作用……就比較悲慘了,它是不重要但可能又不能少的:
可能它要需要為Primary分擔(dān)讀請(qǐng)求的壓力……
可能它硬件配置也不如M1或者M(jìn)2……
可能它會(huì)每天被拿來(lái)做備份,承擔(dān)高密集的IO壓力……
可能還會(huì)被當(dāng)做部分?jǐn)?shù)據(jù)不一致的主要
最最最慘的是,這臺(tái)slave:
永遠(yuǎn)是M1或者M(jìn)2的slave……
永遠(yuǎn)是被設(shè)置上read_only=1,super_read_only=1的存在……
連給Client讀寫請(qǐng)求的賬戶都不需要?jiǎng)?chuàng)建。
也就是說(shuō),這臺(tái)實(shí)例永遠(yuǎn)不能成為Primary。
當(dāng)M1出現(xiàn)故障時(shí),此時(shí)架構(gòu)圖就變成了:
(這個(gè)切換Primary的過(guò)程被稱作failover)

當(dāng)M1出現(xiàn)問(wèn)題的時(shí)候,比如宕機(jī),自身進(jìn)程crash等等。
此時(shí)M2拿到了VIP,并宣告:“我就是Primary”,一般把這種“切換”叫做failover。
這個(gè)切換時(shí)間取決于keepalived的判斷(比如是否真的不可用,是否M2有落后等)。
此時(shí),Client會(huì)開(kāi)始將讀寫請(qǐng)求發(fā)送給新的Primary也就是M2。
S則會(huì)開(kāi)始復(fù)制M2的數(shù)據(jù),繼續(xù)默默工作。
當(dāng)然,S則還是那個(gè)slave,繼續(xù)為了Client做著“犧牲”。
而且,以后的每一次failover,都和S關(guān)系不大。
本著嚴(yán)謹(jǐn),認(rèn)認(rèn)真真對(duì)這個(gè)HA方案做了介紹。
上面如果說(shuō)是給DBA從業(yè)人員看的。那么下面就是我想說(shuō)的,也是任何人都可以看的。先來(lái)看看上述“專業(yè)名詞”在translate.google.com上的解釋:
Primary(也可以叫做Master):adjective
主 main, primary
主要 main, major, primary, principal, chief
Standby(也可以叫做Secondary):noun
依靠 stand-by
支撐 bracing, brace, steady, foothold, stand-by
支援 stand-by
adjective
待用 stand-by, inactive
Slave(好像只能被叫做Slave):
noun
奴隸 slave
奴 slave
附件 annex, attachment, accessory, appendix, enclosure, slave
verb
拼命工作 slave
新聞名稱:從MySQL雙主高可用架構(gòu),談戀愛(ài)關(guān)系。-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://chinadenli.net/article32/dcpdsc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、App開(kāi)發(fā)、微信小程序、全網(wǎng)營(yíng)銷推廣、Google
廣告
聲明:本網(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)