如何在 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-type1)在他們提到的文件中
相對權重只允許在 0 到 100% 之間,絕對權重允許在 0 到 256 之間。
如果我使用百分比值為 70% 的 web1 設置權重,這是否意味著通過為 web1 分配的 50(最初在伺服器中配置)流量中的 70%,如果是這樣,其餘的 30% 在它的 50 值中會通過嗎?
- 另一個查詢是,如果我們使用 set weight 命令作為
set weight web1 10.10.10.10 3 set weight web2 10.10.10.11 1
這是否意味著 75% 的流量到 web1 和 25% 的流量到 web2?如何以比例方式拆分流量並在設定的權重中使用。
如果可能,請讓我知道如何使用絕對權重來分割流量。感謝你的回答。
問題一:
該文件指出:
如果該值以“%”符號結尾,則新重量將相對於最初配置的重量。
所以它確實意味著 70%“在為 web1 分配的 50 中”。其他 30% 的去向在文件中並不清楚,但它必須是 web2,因為它不能被丟棄。
問題2:
HAProxy 文件指出:
“權重”參數用於調整伺服器相對於其他伺服器的權重。所有伺服器將收到與其權重 相對於所有權重之和成比例的負載,因此權重越高,負載越高。預設權重為1,最大值為256
所以,是的,這意味著 web1 將接收 75% = 3/(1+3) 的流量,而 web2 將接收 25% 的流量。
額外問題:
如何以比例方式拆分流量並在設定的權重中使用。
如果可能,請讓我知道如何使用絕對權重來分割流量。
我不明白這兩個問題。你能詳細說明一下嗎?