本文來源於:https://blog.csdn.net/u012758088/article/details/78741567
Mycat 本身是無狀態的,可以用 HAProxy 或四層交換機等設備組成 Mycat 的高可用集群,后端 MySQL 則
配置為主從同步,此時整個系統就是高可用的。
部署圖:
集群部署圖的理解:
1、keepalived 和 haproxy 必須裝在同一台機器上(如 172.17.210.210.83 機器上,keepalived 和 haproxy 都要安裝),keepalived 負責為該服務器搶占 vip(虛擬 ip),搶占到 vip 后,對該主機的訪問可以通過原來的 ip(172.17.210.210.83)訪問,也可以直接通過 vip(172.17.210.210.103)訪問;
2、172.17.210.64 上的 keepalived 也會去搶占 vip,搶占 vip 時有優先級,配置 keepalived.conf 中的 (priority 150 #數值愈大,優先級越高,172.17.210.64 上改為 120,master 和 slave 上該值配置不同)決 定。但是一般哪台主機上的 keepalived 服務先啟動就會搶占到 vip,即使是 slave,只要先啟動也能搶到;
3、haproxy 負責將對 vip 的請求分發到 mycat 上。起到負載均衡的作用,同時 haproxy 也能檢測到 mycat 是否存活,haproxy 只會將請求轉發到存活的 mycat 上;
4、如果一台服務器(keepalived+haproxy 服務器)宕機,另外一台上的 keepalived 會立刻搶占 vip 並接管服務。如果一台 mycat 服務器宕機,haporxy 轉發時不會轉發到宕機的 mycat 上,所以 mycat 依然可用。