MySql 高可用架構

高可用架構對於互聯網服務基本是標配,無論是應用服務還是數據庫服務都需要做到高可用。對於一個系統而言,可能包含很多模塊,比如前端應用,緩存,數據庫,搜索,消息隊列等,每個模塊都需要做到高可用,才能保證整個系統的高可用。對於數據庫服務而言,高可用可能更復雜,對用戶的服務可用,不僅僅是能訪問,還需要有正確性保證,因此數據庫的高可用方案是一直以來的討論熱點,今天就各種的高可用方案,談一下個人的一些看法,如有錯誤,還請指正!!

MySQL 主從架構


此種架構,一般初創企業比較常用,也便於後面步步的擴展

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


此架構特點:
1、成本低,佈署快速、方便
2、讀寫分離
3、還能通過及時增加從庫來減少讀庫壓力
4、主庫單點故障
5、數據一致性問題(同步延遲造成)

MySQL+DRDB 架構


通過 DRBD 基於 block 塊的複製模式,快速進行雙主故障切換,很大程度上解決主庫單點故障問題

0?wx_fmt=jpeg


此架構特點:
1、高可用軟件可使用 Heartbeat, 全面負責 VIP、數據與 DRBD 服務的管理
2、主故障後可自動快速切換,並且從庫仍然能通過 VIP 與新主庫進行數據同步
3、從庫也支持讀寫分離,可使用中間件或程序實現

MySQL+MHA 架構


MHA 目前在 Mysql 高可用方案中應該也是比較成熟和常見的方案,它由日本人開發出來,在 mysql 故障切換過程中,MHA 能做到快速自動切換操作,而且還能最大限度保持數據的一致性

0?wx_fmt=jpeg


此架構特點:
1、安裝佈署簡單,不影響現有架構
2、自動監控和故障轉移
3、保障數據一致性
4、故障切換方式可使用手動或自動多向選擇
5、適應範圍大(適用任何存儲引擎)

MySQL+MMM 架構


MMM 即 Master-Master Replication Manager for MySQL(mysql 主主複製管理器),是關於 mysql 主主複製配置的監控、故障轉移和管理的一套可伸縮的腳本套件(在任何時候只有一個節點可以被寫入),這個套件也能基於標準的主從配置的任意數量的從服務器進行讀負載均衡,所以你可以用它來在一組居於複製的服務器啓動虛擬 ip,除此之外,它還有實現數據備份、節點之間重新同步功能的腳本。
MySQL 本身沒有提供 replication failover 的解決方案,通過 MMM 方案能實現服務器的故障轉移,從而實現 mysql 的高可用。

0?wx_fmt=jpeg


此方案特點:
1、安全、穩定性較高,可擴展性好
2、 對服務器數量要求至少三臺及以上
3、 對雙主(主從複製性要求較高)
4、 同樣可實現讀寫分離
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章