0
我正在嘗試爲3個不同節點的percona數據庫配置ha-proxy。我的配置變爲如下 -使用haproxy進行percona負載均衡
backend mysql_backend
mode tcp
option tcplog
balance leastconn
option httpchk default-server port 9200 inter 5s downinter 10s rise 3 fall 2 maxconn 256
server percona1 percona-1:3306 check port <port_num> inter 12000 rise 3 fall 3 maxconn 450
server percona2 percona-2:3306 check port <port_num> inter 12000 rise 3 fall 3 maxconn 450 backup
server percona3 percona-3:3306 check port <port_num> inter 12000 rise 3 fall 3 maxconn 450 backup
在上述結構中,*maxconn 450*
指定將被髮送到這個服務器1即percona1併發連接的最大數目。現在有趣的事情在我心中彈出,如果
連接數達到450,另一個要求呢?將451st請求排隊或將它轉發到percona2/percona3(這是一個備份服務器,如果percona1失敗,但是這裏percona1沒有失敗但達到極限)
Percona1(my.conf)配置比如它一次可以處理多達250個連接,但是從代理服務器,它可以像代理服務器中配置的那樣獲得250個以上的450個連接。
我的問題是在上述情況下會發生什麼?
我已經閱讀文檔,但是我知道任何明確的信息。幫助將不勝感激。
非常感謝@jtobs爲您的關注。是的,我說的是Percona XtraDB Cluster(服務器版本:5.6.29)。 1. Haproxy的全局部分定義爲4000,因此這不是問題。我的問題是node1上451st連接請求會發生什麼情況,因爲node2和node3設置爲** backup **服務器,並且node1已達到其限制並且無法接受更多請求。第451個連接將排隊,將被轉發到node2 ??對於問題2 - 我指的是mysqld的_max_connections_參數。 – RIPAN
和@jtobs我當然想知道後果。如果我像上面那樣進行配置(所有這些都是單獨的實例),會出現什麼問題。請在此問題上進行教育。 – RIPAN
@ripan我想不出爲什麼你將它們設置爲「備份」的很多原因。如果你的工作主要是讀取,那麼使用所有可用的資源。你還指定了一個「平衡」規則,但是如果只有一個節點被設置爲w/o備份,那麼負載均衡就毫無意義。關於第451連接,它將排隊等待server1,不會轉發給其他人。另外,除非你指定'allbackup',否則只使用1個備份服務器。關於後果的更大談話,本論壇不是爲此目的設計的;我會建議測試或聘請專家。祝你好運!! – jtobs