我有兩個後端爲了維護我的應用程序中的兩套規則。一個用於通過瀏覽器訪問的主要網站(烹飪會話),另一個用於API(無狀態並通過API密鑰進行驗證)。如何在多個後端之間共享健康檢查?
配置看起來像這樣(大大簡化了)。
defaults
option httpchk HEAD /ping
backend web
cookie _srv insert indirect
server srv1 10.0.0.1:80 cookie srv1 check inter 10s
server srv2 10.0.0.2:80 cookie srv2 check inter 10s
backend api
stick-table type string len 50 expire 1d store http_req_cnt
stick on url_param(key)
server srv1 10.0.0.1:80 check inter 10s
server srv2 10.0.0.2:80 check inter 10s
如圖所示,除了API不需要設置cookie之外,兩個後端都使用相同的服務器。分離邏輯有(或將會)更多,例如速率限制規則。
我的問題是如何避免重複健康檢查?爲每臺服務器ping相同的端點兩次是浪費資源。我想讓web
後端進行健康檢查,並將api
後端標記爲向上或向下。這可能嗎?或者,也許有更好的方法來分離後端,但保留常用功能。
謝謝。我在1.7。正是我在找的東西,但是文檔非常龐大,我不知道如何去挖掘它。正如它發生我已經rejigged我的配置,以避免這一點,但很高興知道。 – Tim