MMM(multi-master replication manager)
作用:監控和管理mysql的主主複製拓撲,並在當前的主服務器失效時,進行主和主備服務器之間的主從切換和故障轉移工作。
https://www.cnblogs.com/gomysql/p/3671896.html 這個寫的已經很好了。
MHA(Master High Availability)
https://www.cnblogs.com/keerya/p/7883766.html
https://www.cnblogs.com/Confession/p/7778782.html
MHA主從切換過程
- 嘗試從出現故障的主數據庫保存二進制日誌
- 從多個備選從服務器中選舉出新的備選主服務器
- 在備選主服務器和其它從服務器之間同步差異
- 應用原主服務器上的二進制日誌
- 提升備選主DB服務器爲新的主服務器
- 遷移其它的從服務器作爲新的主服務器的從服務器
MHA配置步驟:
讀寫分離
程序實現讀寫分離
優點:由開發控制什麼樣的查詢在從庫中進行,由程序直接連接數據庫性能損耗較少
缺點:增加開發工作量,人爲控制容易出現錯誤
中間件實現讀寫分離:myslq-proxy和maxScale