0
我有一個使用Percona XtraDB的3個節點的數據庫集羣。三個節點在三個不同的系統上配置。我使用HAProxy負載平衡器將請求傳遞給這些節點。 3個節點中的兩個被配置爲HAProxy中的備份。當我向負載均衡器連接URL發出請求時,我可以看到請求默認轉到節點A.如果節點A關閉,並且我請求新的數據庫連接,則看到請求被路由到節點B.這是根據所需的設計。 但是,如果使用Java程序(jdbc URL)將連接請求發送到HAProxy,則在節點A關閉時發出幾個請求後,請求將被路由到節點A,我希望節點B /節點C爲請求提供服務。在目前的情況下,我看到「連接失敗」。 是否有任何配置可確保在節點發生故障時數據庫連接不會失敗,並且將來的請求將被路由到下一個可用節點? 我現在HAProxy的配置文件如下:HAProxy負載平衡MySQL服務器
global
stats socket /var/run/haproxy.sock mode 0600 level admin
log 127.0.0.1 local2 debug
#chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
daemon
defaults
mode tcp
log global
option tcplog
timeout connect 10000 # default 10 second time out if a backend is not found
timeout client 300000
timeout server 300000
maxconn 20000
# For Admin GUI
listen stats
bind :8080
mode http
stats enable
stats uri /stats
listen mysql *:3306
mode tcp
balance roundrobin
option mysql-check user haproxyUser
option log-health-checks
server MySQL-NodeA <ip-address>:3306 check
server MySQL-NodeB <ip-address>:3306 check backup
server MySQL-NodeC <ip-address>:3306 check backup
你是否管理解決這個問題? – Dan