日本首次VALORANT職業循環賽「VALORANT Mildom Masters」開始!   BCT推全港首個模擬MPF投資遊戲 透過BCT e旅程推廣投資者教育   【柱吉】鬼滅Tamgotchi推出「柱集結版」!杏壽郎吉開放預約!   因新冠病毒的影響「EVO 2020」將決定中止或是延期活動   《薩爾達無雙 災厄啟示錄》最新映像公開!依蓋隊和神秘男登場!   「紅白機&超級任天堂Nintendo Switch Online」發表2月新增遊戲!   UNIQLO×超級瑪利歐35週年紀念T-shirt來了!   陰森「驚」采的社群合作活動:All Hallows’ Dreams登陸夢想世界 

MySQL Master-Master Replication Manager(1)

什麼是 MySQL Master-Master Replication Manager(MMM)?

MMM 的特色

上述的事情, 只要在程式判斷 Master 死掉, 之後就永遠寫 Slave 等, 就可以做到(Master 回復時, 再手動去做切換), 但是 MMM 能夠多處理哪些東西呢? MMM 的設定/原理大概是怎麼樣呢?

MMM 的運作原理

MMM 主要做法是 Master(db1), Master(db2) 設定固定 IP, 然後 Monitor 也設定一個固定 IP, 再來 Monitor 的設定再加上兩個 IP(Writer, Reader), 程式讀取/寫入 都是透過 Monitor 另外設的這兩個 IP, 當任何一台機器死掉(不管是 Reader/Writer), Monitor 會自動將 IP 設
到另一台機器上.

註: 透過 ARP(Address Resolution Protocol)iproute 將 IP 指到另一台.

設定依正常設定, 兩台 MySQL Server 各設自己原本的 IP, Monitor 會依照設定檔另外再綁上各自讀寫用的 IP, 跟之前主要的差異是, 兩台
MySQL Server 要多跑 mmm_agent daemon, Monitor 要跑 mmm_mon daemon.

MMM 是透過下述 check MySQL servers 是否活著:

  1. IP connectivity (fping)
  2. MySQL connectivity (mysql connect and SELECT NOW())
  3. MySQL IO and SQL threads status (SHOW SLAVE STATUS)
  4. MySQL replication backlog – seconds behind master (SHOW SLAVE STATUS)

MMM 的官方資源

MMM 的更多介紹、說明

Source from Tsung’s blog

相關文章