Mysql 之 數據庫架構類型及常用解決方案

模式

1.master---slave模式

master負責R/W,slave 從master複製binlog備份數據,主要解決讀取瓶頸

2.master---master模式

主要針對master部分維護時停機問題,這樣兩個master互爲master--slave

3.master--slave--slave模式

4.dualMaster -- 級聯

MYSQL數據庫常用架構解決方案

MMM架構

MHA架構

雙主從備份

對比

類型

MMM

MHA

作用

檢測master數據庫健康狀態

並在master出現問題時完成自動切換

出現故障時

1.備master切換爲新的master

2.slave切換指向到新master

1.找出最新的slave

2.將宕機的master的bin-log保存

3.將slave同步最新master的數據

4.將所有庫同步宕機master的bin-log

5.將最新slave作爲master

6.配置其他slave連接到新master

優點

1.讀寫VIP的配置,讀寫請求都可以做到高可用

2.工具包相對完善,不需要額外開發腳本

3.完成故障轉移後,可以繼續對mysql集羣監控

1.日誌點的主從同步,也支持GTID的主從同步

2.無需單獨的master備份

3.嘗試從舊master中儘可能多保存和獲取未同步的日誌

缺點

1.社區不活躍

2.需要的機器和IP地址資源較多

3.原生不支持GTID的複製方式

1.自行開發VIP轉移腳本
2.只保證master高可用,未保證slave高可用

 

還有阿里的TMHA,一主一從。而MHA是一主兩從

 

數據庫利用第三方插件擴展

方案1:memcached只作爲數據緩存,不需要修改mysq

所有數據都會寫入MySQLMaster中,包括數據第一次寫入時候的INSERT,同時也包括對已有數據的UPDATE和DELETE。不過,如果是對已經存在的數據,則需要在UPDATE或者DELETEMySQL中數據的同時,刪除Memcached中的數據,以此保證整體數據的一致性。而所有的讀請求首先會發往Memcached中,如果讀取到數據則直接返回,如果沒有讀取到數據,則再到MySQLSlaves中讀取數據,並將讀取得到的數據寫入到Memcached中進行Cache。

特點:比較適用於需要緩存對象類型少,而需要緩存的數據量又比較大的環境

 

方案2 :mysql通過自己編寫的UDF控制memcached。

 

 

本文圖片來自網絡

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章