如何在HAProxy中使用“設定權重”

如何在HAProxy中使用“設定權重”

您好,我已經在 haproxy.cfg 中配置了一個 HAProxy 伺服器來平衡兩個伺服器之間的流量,比如說

server web1 10.10.10.10 weight 50
server web2 10.10.10.11 weight 50

出於測試目的,我們需要動態設定權重,因此我們使用 set weight <backend>/<server> <weight>[%] 本文中提到的命令http://cbonte.github.io/haproxy-dconv/configuration-1.4.html#hash-type

1)在他們提到的文件中

相對權重僅允許在 0 到 100% 之間,絕對權重允許在 0 到 256 之間。

如果我對web1 使用百分比值為70% 的設定權重,是否意味著為web1(最初在伺服器中配置)分配的50 流量中的70% 已通過,如果是這樣,則50 值中的其餘30% 已通過會通過嗎?

2) 另一個查詢是,如果我們使用 set Weight 指令作為

set weight web1 10.10.10.10 3
set weight web2 10.10.10.11 1

這是否意味著 75% 的流量流向 web1,25% 的流量流向 web2?如何按比例分割流量並依設定權重使用。

如果可能,請讓我知道如何使用絕對權重來分割流量。感謝你的回答。

答案1

問題一:

文件狀態:

如果該值以“%”符號結尾,則新權重將相對於初始配置的權重。

所以它確實意味著 70%「在為 web1 分配的 50 個中」。另外 30% 會去哪裡,文件中並不清楚,但它必須是 web2,因為它不能被刪除。

問題2:

HAProxy 文檔狀態:

「權重」參數用於調整伺服器相對於其他伺服器的權重。所有伺服器都會收到與其權重成比例的負載 相對於所有權重的總和,所以重量越大,負載越高。預設權重為1,最大值為256

所以,是的,這意味著 web1 將接收 75% = 3/(1+3) 的流量,web2 將接收 25% 的流量。

額外問題:

如何按比例分割流量並依設定權重使用。

如果可能,請讓我知道如何使用絕對權重來分割流量。

我不明白這兩個問題。能詳細說明一下嗎?

相關內容