標籤:mysql
mysql高可用
高可用性需要解決的兩個問題:
1.如何?資料共用或者同步資料。
2.如何處理failover。failover的意思是指當伺服器死機或出現錯誤時,可以自動切換到其他待命伺服器,不影響線上業務
資料共用一般的解決方案是SAN。資料同步可以通過rsync和DRBD實現
1.主從複製解決方案
這是mysql自身提供的一種高可用解決方案,資料同步方法採用的是mysql replication技術。
mysql replication技術。就是一個日誌複製的過程。簡單來說,就是從伺服器到主伺服器拉取二進位記錄檔,然後將記錄檔解析成對應的sql在從伺服器上重新執行一遍主伺服器的操作,通過這種方式保持資料一致性
2.MMM高可用解決方案
MMM(mysql主主複製管理器,提供了mysql主主複製配置的監控,容錯移轉和管理的一套可伸縮的指令碼套件)。典型的應用是雙主多從架構。通過mysql replication技術可以實現兩台伺服器互為主從,且在任何時候只有一個節點可以寫入,避免多點寫入的資料衝突。同時,當可寫的主節點故障時,MMM套件可以立刻監控到,然後將服務切換到另一個主節點繼續提供服務,從而實現mysql高可用
3.hearbeat/SAN高可用解決方案
通過第三方軟硬體監控和管理各個節點連結的網路並監控叢集服務,當節點出現故障或服務不可用時,自動在其他節點啟動叢集服務
資料共用方面通過SAN儲存共用。但是成本較高,存在腦裂可能。這種方案可以實現99.990%的SLA(服務水平協定)
4.hearbeat/DRBD高可用解決方案
和第三個方案不同的是,他的資料共用採用的是DRBD(分布式塊裝置複製)。這種方案實現稍微複雜,存在腦裂,可以實現99.900%的SLA
5.MYSQL cluster高可用解決方案
mysql cluster 由一組服務節點構成,每個節點運行多種緊張,包括mysql伺服器,NDB cluster的資料節點,管理伺服器,以及可能專門的資料訪問程式。此方案由mysql官方主推。功能強大,但實現複雜,配置繁瑣,公司專屬應用程式不多。可以實現99.999%d的SLA
本文出自 “不拋棄!不放棄” 部落格,請務必保留此出處http://6437769.blog.51cto.com/6427769/1654373
常見的mysql叢集