程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 【博文推薦】Microsoft Azure部署MYSQL-MMM過程詳解(1)

【博文推薦】Microsoft Azure部署MYSQL-MMM過程詳解(1)

編輯:MySQL綜合教程

【博文推薦】Microsoft Azure部署MYSQL-MMM過程詳解(1)


  本博文出自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主要功能由下面三個腳本提供

  • l mmm_mond 負責所有的監控工作的監控守護進程,決定節點的移除等等
  • l mmm_agentd 運行在mysql服務器上的代理守護進程,通過簡單遠程服務集提供給監控節點
  • l mmm_control 通過命令行管理mmm_mond進程

在兩個節點的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。

具體的配置信息如下所示:

  1. 角色 ip地址 主機名字 server-id  
  2.  
  3. monitoring      10.0.0.6            monitor        -  
  4.  
  5. master1         10.0.0.4            db1                1  
  6.  
  7. master2         10.0.0.5            db2                 2  
  8.  
  9. slave1          10.0.0.7            db3                 3 

業務中的服務ip信息如下所示:

  1. ip地址                 角色                描述  
  2.  
  3. 10.0.0.80           write                應用程序連接該ip對主庫進行寫請求  
  4.  
  5. 10.0.0.90           read                  應用程序連接該ip進行讀請求  
  6.  
  7. 10.0.0.100          read                   應用程序連接該ip進行讀請求 

部署架構如下圖:

Microsoft Azure部署MYSQL-MMM(1)安裝MYSQL


MySQL-MMM優缺點

優點:高可用性,擴展性好,出現故障自動切換,對於主主同步,在同一時間只提供一台數據庫寫操作,保證的數據的一致性。

缺點:Monitor節點是單點,可以結合Keepalived實現高可用。




  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved