欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

haproxy導致mysql主主錯誤哦

張吉惟2年前12瀏覽0評論

最近在我們的生產(chǎn)環(huán)境中遇到一個非常讓人困擾的問題,我們的MySQL雙主節(jié)點使用了HAProxy做了負載均衡,但是卻經(jīng)常出現(xiàn)主主錯誤,導致數(shù)據(jù)庫無法正常工作。

haproxy[15784]:[WARNING] 165/110605 (15784) :Stopping proxy mysql-cluster: no server available!
haproxy[15784]:[ALERT] 165/110605 (15784) :backend 'mysql-cluster' has no server available!

經(jīng)過不斷排查和分析,我們發(fā)現(xiàn)了問題的根本原因。

在我們的HAProxy配置中,我們設置了一個"check mysql"選項來檢查MySQL的可用性。

option mysql-check user haproxy_check
server db1 192.168.1.101:3306 check
server db2 192.168.1.102:3306 check

但是我們在MySQL主主環(huán)境下使用了同一個VIP地址,這導致了HAProxy在進行健康檢查時會將請求發(fā)送到兩個MySQL節(jié)點,這就導致了一個非常嚴重的問題:HAProxy檢測到第二個MySQL節(jié)點以失敗結(jié)束,這導致HAProxy斷開了整個MySQL集群的連接,從而導致所有的讀寫操作失敗,產(chǎn)生了主主錯誤。

因此,我們需要對我們的HAProxy配置進行修改來解決這個問題。

我們需要將"check mysql"選項從HAProxy配置中移除,然后使用更有效的方法來檢測MySQL的可用性,例如使用本地的腳本來檢查。另外,我們還需要在HAProxy的配置中設置不同的端口,這樣就可以避免HAProxy將請求發(fā)送到兩個MySQL節(jié)點,從而解決了我們的主主錯誤問題。

server db1 192.168.1.101:3307 check port 9200
server db2 192.168.1.102:3307 check port 9200

總結(jié):在使用HAProxy進行MySQL負載均衡時,我們需要注意使用不同的端口來避免主主錯誤的問題,同時也要選擇更為有效的方法來檢測MySQL的可用性。