2020-03-18 Mysql常見的HA中間層架構mmm,pxc,mha

1岩遗、MMM結(jié)構(雙主復制的結(jié)構)

Master-Master Replication Manager for MySQL 是一套腳本集合诫给,用以監(jiān)控、管理雙主復制架構香浩,通過設置一個可寫的VIP和多個只讀的VIP雷滋,完成故障自動轉(zhuǎn)移不撑、讀負載分攤等功能;雙主互為主從


MMM

存在問題:

通過vip實現(xiàn)漂移晤斩,不能跨網(wǎng)段焕檬,更不能跨機房

網(wǎng)絡分區(qū),導致數(shù)據(jù)庫雙寫澳泵,數(shù)據(jù)沖突实愚,需要業(yè)務修改數(shù)據(jù)或者重做

DBA部署和運維不方便,容易出問題(綁定vip兔辅,配置文件等)

使用binlog進行同步會有延時腊敲,如果寫節(jié)點寫操作過程中掛了,集群中其他節(jié)點無法訪問掛掉的 寫節(jié)點的binlog维苔,就 無法同步這部分數(shù)據(jù)碰辅,導致數(shù)據(jù)丟失。

MMM的版本已不更新介时,談不上對mysql新特性的支持

不適合于對數(shù)據(jù)一致性要求很高的場景没宾。(異步復制,數(shù)據(jù)雙寫沖突)

VIP地址漂移原理沸柔?

1循衰、MMM本身的monitor和agent提供了動態(tài)變更網(wǎng)卡IP綁定的功能(網(wǎng)卡可以綁定多個IP的呢)

2、借用keepalived的虛擬路由冗余協(xié)議褐澎,實現(xiàn)這種高可用的VIP機制(ARP表原理)会钝, 所以又有MM+Keepalived組合

明白了VIP地址漂移的道理,那么不能跨網(wǎng)段就顯而易見了(多網(wǎng)段VIP沒辦法路由呢)工三。

官方網(wǎng)站:http://mysql-mmm.org

2顽素、PXC結(jié)構

Percona XtraDB Cluster是一個為MySQL用戶提供高可用性和伸縮性的解決方案咽弦,采用ZK作為中央控制模塊。

GTID:Global Transaction ID? ??全局事務唯一id

PXC

1胁出、同步復制,事務要么在所有節(jié)點提交或不提交段审,一致性高全蝶。(一半以上結(jié)點OK則事務成功,高可用)

2寺枉、多主復制抑淫,可以在任意節(jié)點進行寫操作,當然也可以讀姥闪。

一致性最高始苇,但是QPS相對受限。

官網(wǎng):https://www.percona.com/doc/percona-xtradb-cluster/LATEST/index.html


2筐喳、mha結(jié)構

MHA(Master High Availability)是一套優(yōu)秀的作為MySQL高可用性環(huán)境下故障切換和主從提升的高可用軟件催式。在MySQL故障切換過程中,MHA能做到在0~30秒之內(nèi)自動完成數(shù)據(jù)庫的故障切換操作避归,并且在進行故障切換的過程中荣月,MHA能在最大程度上保證數(shù)據(jù)的一致性,以達到真正意義上的高可用梳毙。

組成部分:

1.MHA manager哺窄,管理節(jié)點

2.MHA node,數(shù)據(jù)節(jié)點

部署架構:

MHA manager可以單獨部署在一臺機器上账锹,管理多個master-slave集群萌业,也可以單獨部署在一個slave節(jié)點上。MHA manager探測集群的node節(jié)點奸柬,當發(fā)現(xiàn)master故障時生年,會選取擁有最新數(shù)據(jù)的slave提升為新的master,然后將其他的slave導向新的master節(jié)點鸟缕,并完成數(shù)據(jù)的同步晶框,整個故障轉(zhuǎn)移過程對于客戶端應用程序來說是完全透明的。


MHA

原理介紹:

MHA的目的在于維持MySQL Replication中Master庫的高可用性懂从,其最大特點是可以修復多個Slave之間的差異日志授段,最終使所有Slave保持數(shù)據(jù)一致,然后從中選擇一個充當新的Master番甩,并將其它Slave指向它侵贵。

當master出現(xiàn)故障時,可以通過對比slave之間I/O thread 讀取主庫binlog的position號缘薛,選取最接近的slave做為備選主庫(備胎)窍育。其它的從庫可以通過與備選主庫對比生成差異的中繼日志卡睦。在備選主庫上應用從原來master保存的binlog,同時將備選主庫提升為master漱抓。最后在其它slave上應用相應的差異中繼日志并開始從新的master開始復制表锻。

過程:

(1)從宕機崩潰的master保存二進制日志事件(binlog events);

(2)識別含有最新更新的slave,作為備選主庫乞娄;

(3)對比備選主庫和其他slave瞬逊,生成差異的中繼日志(relay log);

(4)應用從master保存的二進制日志事件(binlog events)到備選主庫仪或;

(5)提升提升備選主庫為新的master主庫确镊;

(6)在其他slave上應用差異中繼日志(relay log);

(6)使其他的slave連接新的master進行復制;

優(yōu)點:

1. 故障切換時范删,可以自行判斷哪個從庫與主庫的數(shù)據(jù)最接近蕾域,就切換到上面,可以減少數(shù)據(jù)的丟失到旦,保證數(shù)據(jù)的一致性

2. 支持 binlog server旨巷,可提高 binlog 傳送效率,進一步減少數(shù)據(jù)丟失風險厢绝。

3. 可以配置 mysql 5.7 的增強半同步契沫,來保證數(shù)據(jù)的時時同步

在MHA自動故障切換過程中,MHA試圖從宕機的主服務器上保存二進制日志昔汉,最大程度的保證數(shù)據(jù)的不丟失懈万,但這并不總是可行的。例如靶病,如果主服務器硬件故障或無法通過ssh訪問会通,MHA沒法保存二進制日志,只進行故障轉(zhuǎn)移而丟失了最新的數(shù)據(jù)娄周。使用MySQL 5.5的半同步復制涕侈,可以大大降低數(shù)據(jù)丟失的風險。MHA可以與半同步復制結(jié)合起來煤辨。如果只有一個slave已經(jīng)收到了最新的二進制日志裳涛,MHA可以將最新的二進制日志應用于其他所有的slave服務器上,因此可以保證所有節(jié)點的數(shù)據(jù)一致性众辨。

Manager若自身需要是高可用的端三,且保證對各個機房的可達性。

另外鹃彻,可自定義開發(fā)哨兵Sentinel集群替代Manager郊闯。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子团赁,更是在濱河造成了極大的恐慌育拨,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件欢摄,死亡現(xiàn)場離奇詭異熬丧,居然都是意外死亡,警方通過查閱死者的電腦和手機剧浸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進店門锹引,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人唆香,你說我怎么就攤上這事《滞В” “怎么了躬它?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長东涡。 經(jīng)常有香客問我冯吓,道長,這世上最難降的妖魔是什么疮跑? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任组贺,我火速辦了婚禮,結(jié)果婚禮上祖娘,老公的妹妹穿的比我還像新娘失尖。我一直安慰自己,他們只是感情好渐苏,可當我...
    茶點故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布掀潮。 她就那樣靜靜地躺著,像睡著了一般琼富。 火紅的嫁衣襯著肌膚如雪仪吧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天鞠眉,我揣著相機與錄音薯鼠,去河邊找鬼。 笑死械蹋,一個胖子當著我的面吹牛出皇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播朝蜘,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼恶迈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起暇仲,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤步做,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后奈附,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體全度,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年斥滤,在試婚紗的時候發(fā)現(xiàn)自己被綠了将鸵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,768評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡佑颇,死狀恐怖顶掉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情挑胸,我是刑警寧澤痒筒,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站茬贵,受9級特大地震影響簿透,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜解藻,卻給世界環(huán)境...
    茶點故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一老充、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧螟左,春花似錦啡浊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至奄妨,卻和暖如春涂籽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留末盔,地道東北人薄啥。 一個月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓来累,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,666評論 2 350

推薦閱讀更多精彩內(nèi)容