溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MYSQL如何探索在非互聯(lián)網(wǎng)企業(yè)中的讀寫分離架構(gòu)

發(fā)布時間:2021-10-25 10:46:41 來源:億速云 閱讀:103 作者:柒染 欄目:大數(shù)據(jù)

MYSQL如何探索在非互聯(lián)網(wǎng)企業(yè)中的讀寫分離架構(gòu),很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

MYSQL的高可用和使用大多都是基于互聯(lián)網(wǎng)的方式,MHA,PXC,這些方式在互聯(lián)網(wǎng)里面大量的使用,并且使用的非常好,互聯(lián)網(wǎng)企業(yè)充斥著各種修改MYSQL 原代碼的“高端人才”。 

反觀,為什么傳統(tǒng)企業(yè),金融企業(yè)使用MYSQL,并讓這個數(shù)據(jù)庫發(fā)揚光大的缺失鳳毛菱角。

拋出去互聯(lián)網(wǎng)企業(yè)敢給錢,敢雇人,做什么都可以在做中碰釘子,在改善的基本思想。大量的支持和維護運維的力量是不可以忽視的。

傳統(tǒng)企業(yè)在這方面是差的比較遠,所以MYSQL這樣的數(shù)據(jù)庫用的不順手,在加上業(yè)務(wù)的緊密和開發(fā)方式等等 bulabula . MYSQL 的架構(gòu)在使用了上面那些企業(yè)給運維帶來很多不便。

個人認為(也許需要繼續(xù)改善),傳統(tǒng)企業(yè)或者金融企業(yè)需要的MYSQL的架構(gòu)好維護,好使用,更要妥協(xié)開發(fā)的傳統(tǒng)業(yè)務(wù)的某些方式。

你可以使用ORACLE  RAC ,Dataguard, SQL SERVER 的  Cluster ,  Always-on 等等,至少在讀寫分離上或高密集的操作中,基本上不會給你太尷尬的表現(xiàn)。  MYSQL 以前一直是主從復(fù)制,而要保證主從復(fù)制的一致性,除了用半同步這樣的“單條虎”,然后就是各種開發(fā)要求,要支持互聯(lián)網(wǎng)動輒幾百人甚至上千人的開發(fā)團隊是有技術(shù)力量來將那些密集型的操作去化解的。而傳統(tǒng)企業(yè)沒有那么多的資金來雇傭那么多的開發(fā)人員,運維人員。

一個可靠的MYSQL架構(gòu)就顯得尤為重要了,目前MGR 作為MYSQL的復(fù)制或者說高可用的方式,已經(jīng)推開。當(dāng)然也有問題,但至少他能給你做到的,1 數(shù)據(jù)的一致性 2 搭建方式的簡單  3維護方式相對其他方式要簡單,配上可靠的中間件,基本上傳統(tǒng)的開發(fā)人員就可以實現(xiàn)他們想要的讀寫分離,以及運維人員需要的FAILOVER ,及對應(yīng)用程序的透明切換。

那還是來點實際的,下面是一MYSQL高可用加讀寫分離的架構(gòu)圖

其實中間件使用哪個可能無所謂,但為了更好的簡化運維的工作,我們其實可以使用DOCKER 來將中間件容器化,這樣能降低中間件的FAILOVER的工作量,同時也能節(jié)省資源(通常傳統(tǒng)企業(yè)的訪問量不大)。架構(gòu)中還有一點估計是有人想 challange的, 就是為什么要用兩個中間件,說實話可以不用,一個中間件就可以,但兩個的中間件也是考慮傳統(tǒng)企業(yè)的開發(fā)人員,你要他完全將所有的 SELECT 語句 都走從庫,這對他本身來說也是一項挑戰(zhàn),其中的問題也會不少,這邊兩個中間件,就是給運維和開發(fā)一個緩沖。如果想進行在寫庫的操作那就走 一個中間件,如果想僅僅是只讀的方式使用,則去訪問另一個走只讀的中間件即可,對開發(fā)和運維都還算比較友好。

這樣既能滿足遷就傳統(tǒng)企業(yè)開發(fā)和運維的LEVEL 也能更簡單的批量定制化的部署。同時對于應(yīng)用也是透明的切換(standby -- primary)

可能還有人問,中間件為什么不復(fù)用,多套MGR 用一個中間件做FAILOVER 不也是OK ,其實是可以的,但如果使用了DOCKER 的情況下,其實分開更好,一套MGR 用自己的,這樣降低耦合,出了問題也不是大面積性的,只會影響相關(guān)的對應(yīng)的MGR。

1  正常的狀態(tài)

MYSQL如何探索在非互聯(lián)網(wǎng)企業(yè)中的讀寫分離架構(gòu)

2  主節(jié)點故障切換狀態(tài)

MYSQL如何探索在非互聯(lián)網(wǎng)企業(yè)中的讀寫分離架構(gòu)

3  切換后的狀態(tài)

MYSQL如何探索在非互聯(lián)網(wǎng)企業(yè)中的讀寫分離架構(gòu)

剩下的就是落實DOCKER 中間件的部署以及DOCKER FAILOVER的問題。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI