proxysql 系列 ~ 高可用架構


一 整體架構
二 proxysql層
    proxysql+keepalived對外提供vip
    1  這里有一點要注意,雖然keepalived有腦裂危險,但是對於向proxysql這種無狀態中間件確實沒什么影響

    2  需要維護至少兩份配置文件,保證每個節點的配置文件都唯一
三 mysql層
     mysql+mha做故障轉移
四 proxysql故障轉移原理
    0 定義好mysql集群寫服務器組合讀服務器組的對應關系
    1 proxysql監控讀mysql的read_only值
    2 如果發現從庫的 read_only 變為0、主庫變為1,則認為角色互換了,自動改寫 mysql_servers 表里面 hostgroup 關系,達到自動 Failover 效果。
五 優勢
   1 MHA不再需要VIP,避免腦裂風險
   2 proxysql動態維護mysql_server表
六 整體過程
   1 主庫down機,觸發MHA切換
   2 MHA切換完成,新主會設置成read_only=0
   3 proxysql監控到read_only=0,動態更改mysql_servers(更改原主和新主的hostgroup_id)
   4 集群繼續提供服務
   5 修復舊主
          1 以只讀方式啟動舊主
           2 根據MHA日志修復舊主(如果是GTID復制,直接change即可)
    6 proxysql可以動態調整權重,減少主庫讀比例
六 注意點
   1 當MHA切換后,舊主啟動前一定要設置read_only=1,否則會導致舊主也被proxysql認為主,加入寫組中。
   2 當MHA切換后,最好還是調整下權重比例,不會動態進行維護
七 補充
  1 cetus和proxysql對比,cetus對於MHA的利用更有優勢


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM