我們計劃在我們的基礎結構中添加第二個清漆服務器。帶haproxy的多個清漆服務器
什麼是更好的方法來平衡流量拋出兩臺服務器?我認爲我們可以在兩臺服務器前使用haproxy,但是如何配置它以負載平衡兩種清漆之間的流量?理想的解決方案是,如果一個清漆掉下來,所有的流量都會流向另一個。
編輯:理想的行爲是一個主動/主動配置,每個負載50%,如果一個下降haproxy發送100%負載到另一個。
我們計劃在我們的基礎結構中添加第二個清漆服務器。帶haproxy的多個清漆服務器
什麼是更好的方法來平衡流量拋出兩臺服務器?我認爲我們可以在兩臺服務器前使用haproxy,但是如何配置它以負載平衡兩種清漆之間的流量?理想的解決方案是,如果一個清漆掉下來,所有的流量都會流向另一個。
編輯:理想的行爲是一個主動/主動配置,每個負載50%,如果一個下降haproxy發送100%負載到另一個。
我想到的想法是使用兩個後端,並在每個備份中使用另一個服務器作爲備份,因此當服務器關閉時,所有請求都會轉到活動服務器。
frontend http-in
acl my_acl <whaever acl to split the traffic>
use_backend varnish2 if my_acl
default_backend varnish1
backend varnish1
mode http
option httpchk GET /check.txt HTTP/1.0
server varnish1 192.168.222.51:6081 check inter 2000
server varnish2 192.168.222.52:6081 check inter 2000 backup
backend varnish2
mode http
option httpchk GET /check.txt HTTP/1.0
server varnish2 192.168.222.51:6081 check inter 2000
server varnish1 192.168.222.52:6081 check inter 2000 backup
另一種選擇是把兩者清漆實例在相同的後端,而是通過URI或參數的平衡要求。
這將允許您在同一個後端都有活動,並且仍然保持較高的高速緩存命中率,因爲相同的uri總是與相同的清漆高速緩存保持平衡(只要可用)。 Balace uri在散列時也使用長度的可選參數。
繼承人一個簡單的例子:
前端HTTP-在 ACL my_acl use_backend清漆如果my_acl
backend varnish1
mode http
balance uri
option httpchk GET /check.txt HTTP/1.0
server varnish1 192.168.222.51:6081 check inter 2000
server varnish2 192.168.222.52:6081 check inter 2000
您是否在尋找清漆主/從配置(其中只有一個是活躍在所有次)或者2個清漆實例同時爲交通提供服務? – Mojah
帶有主動/主動理想配置的編輯問題。 –