本博文出自Bkjia博客之星李珣博主,有任何問題請進入博主頁面互動討論!
博文地址:http://lixun.blog.51cto.com/4198640/1629177
MMM即Master-Master Replication Manager for MySQL(mysql主主復制管理器)關於mysql主主復制配置的監控、故障轉移和管理的一套可伸縮的腳本套件(在任何時候只有一個節點可以被寫 入),這個套件也能對居於標准的主從配置的任意數量的從服務器進行讀負載均衡,所以你可以用它來在一組居於復制的服務器啟動虛擬ip,除此之外,它還有實 現數據備份、節點之間重新同步功能的腳本。
MySQL本身沒有提供replication failover的解決方案,通過MMM方案能實現服務器的故障轉移,從而實現mysql的高可用。
MMM項目來自 Google:http://code.google.com/p/mysql-master-master
官方網站為:http://mysql-mmm.org
MMM主要功能由下面三個腳本提供
在兩個節點的master-master環境下,MMM使用5個IP。每個單獨的節點使用一個固定IP,這個固定IP永遠不會變化。
2個reader IPs(read-only)和一個writer IP(updates),後面三個IP(2個reader IP和一個Writer IP)在兩個節點之間遷移,如何遷移取決於節點的可用性。
正 常情況下(沒有復制失敗,沒有復制延遲等)活動的master有兩個虛擬ip(reader和writer),備用的master有一個虛擬 ip(reader),如果活動的master失敗了,那麼所有的reader和writer虛擬IP都會被分配給備用的master。
具體的配置信息如下所示:
- 角色 ip地址 主機名字 server-id
- monitoring 10.0.0.6 monitor -
- master1 10.0.0.4 db1 1
- master2 10.0.0.5 db2 2
- slave1 10.0.0.7 db3 3
業務中的服務ip信息如下所示:
- ip地址 角色 描述
- 10.0.0.80 write 應用程序連接該ip對主庫進行寫請求
- 10.0.0.90 read 應用程序連接該ip進行讀請求
- 10.0.0.100 read 應用程序連接該ip進行讀請求
部署架構如下圖:
MySQL-MMM優缺點
優點:高可用性,擴展性好,出現故障自動切換,對於主主同步,在同一時間只提供一台數據庫寫操作,保證的數據的一致性。
缺點:Monitor節點是單點,可以結合Keepalived實現高可用。