mysql集群架構 MySQL企業常用集群架構

2021-10-18 02:26:54 字數 950 閱讀 4025

在中小型網際網路的企業中。mysql的集群一般就是上圖的架構。web節點讀取資料庫的時候讀取dbproxy伺服器。dbproxy伺服器通過對sql語句的判斷來進行資料庫的讀寫分離。讀請求負載到從庫(也可以把主庫加上),寫請求寫主庫。

這裡的dbproxy是資料庫集群的唯一出口所以也需要做高可用。

drproxy是資料庫讀寫分離的常用軟體,amoeba、mycat、cobar也很常用。這類軟體不僅帶有讀寫分離功能,還可以實現負載均衡以及後端節點的健康檢查。

資料庫的讀寫分離除了通過這類資料庫中介軟體軟體實現,還可以寫在程式中。

通常我們的主庫要做雙主高可用,實現主庫掛掉另乙個主庫立刻接管。如果不做雙主,從庫接管主庫的時候需要做狀態遷移,會有延遲。

資料庫主庫的高可用重點需要考慮的是資料同步。比較常用的高可用方案有:

1、keepalived+mysql replication。通過keepalived實現vip飄逸,通過mysql自帶的同步方案replication實現資料同步。

2、hearbeat+drbd。通過drbd實現雙主資料的同步,這個資料同步是基於塊裝置的。比一般的同步方案要快很多。通過heartbeat實現vip漂移以及drbd資源的切換管理。

3、keepalived+mha。

對於從庫,最好不要超過5個。我們可以把其中的三個作為使用者訪問的節點,把另外乙個作為內部人員的查詢節點。因為內部人員查詢節點的時候一般是按照時間段查詢,不經過索引,占用的資源比較多,所以要把這個節點單獨專用,以免影響客戶訪問。最後我們應該留乙個從庫進行資料庫的資料備份。

從庫的資料一致性保持可以通過直接於主庫進行主從輔助,也可以從其他從庫那進行主從複製(優點是減少主庫壓力,缺點是延遲稍大)。

2、mysql資料架構

資料庫伺服器==》資料庫(多個例項)==》多個庫==》多個表==》多個字段行列(資料)

在一台資料庫伺服器上可以跑多個例項,乙個例項中有多個庫,乙個庫有多個表,乙個表有多個行列。

MYSQL集群架構

1 讀寫分離架構 主從架構 一寫多讀,一主多從 問題 應用程式需要連線多個資料來源 mycat可以解決 主從之間同步是非同步的 資料時弱一致性的 pxc集群 2 中介軟體 問題 主從之間同步是非同步的 資料時弱一致性的 pxc集群 中介軟體的效能將成為系統的瓶頸 3 多個中介軟體的架構 問題 主從之...

mysql企業常用集群架構

在中小型網際網路的企業中。mysql的集群一般就是上圖的架構。web節點讀取資料庫的時候讀取dbproxy伺服器。dbproxy伺服器通過對sql語句的判斷來進行資料庫的讀寫分離。讀請求負載到從庫 也可以把主庫加上 寫請求寫主庫。這裡的dbproxy是資料庫集群的唯一出口所以也需要做高可用。drpr...

MySQL集群架構之分庫分表

分庫分表是實際應用中,之前介紹的 讀寫分離 和快取等已經不能解決資料量呈幾何級數增長導致資料庫效能降低不能滿足生產需求的問題。目前比較普遍的方案就是使用nosql newsql或者採用分庫分表。使用分庫分表時,主要有垂直拆分和水平拆分兩種拆分模式,都屬於物理空間的拆分。分庫分表方案 只分庫 只分表 ...