詳解Nginx 被動檢查服務器的存活狀態(tài)

介紹
通過發(fā)送定期健康檢查來監(jiān)控上游組中 HTTP 服務器的健康狀況。Nginx 可以持續(xù)測試您的上游服務器,避免出現故障的服務器,并將恢復的服務器優(yōu)雅地添加到負載均衡組中。
被動健康檢查
對于被動健康檢查,Nginx 會在事務發(fā)生時對其進行監(jiān)控,并嘗試恢復失敗的連接。如果事務仍然無法恢復,Nginx 將服務器標記為不可用并暫時停止向其發(fā)送請求,直到它再次標記為活動狀態(tài)。
上游服務器標記為不可用的條件是通過上游塊中服務器指令的參數為每個上游服務器定義的:
fail_timeout:設置要將服務器標記為不可用,必須進行多次失敗嘗試的時間,以及服務器標記為不可用的時間(默認值為10秒)。max_fails:設置在fail_timeout期間必須發(fā)生的失敗嘗試次數,以便將服務器標記為不可用(默認值為1次嘗試)。
在以下示例中,如果Nginx在30秒內3次未能向服務器發(fā)送請求或未收到來自服務器的響應,則會在30秒內將服務器標記為不可用:
upstream backend {
server backend1.example.com;
server backend2.example.com max_fails=3 fail_timeout=30s;
}
注意 :如果組中只有一臺服務器,則會忽略fail_timeout和max_fails參數,并且服務器永遠不會標記為不可用。
服務器慢啟動
最近恢復的服務器很容易被連接淹沒,這可能會導致服務器再次被標記為不可用。慢啟動允許上游服務器在恢復或可用后逐漸從零恢復其權重到其標稱值。這可以通過 slow_start 上游server指令的參數來完成:
upstream backend {
server backend1.example.com slow_start=30s;
server backend2.example.com;
server 192.0.0.1 backup;
}
注意:如果組中只有一個服務器,
slow_start則忽略該參數并且該服務器永遠不會標記為不可用。慢啟動是 NGINX Plus(商業(yè)版) 獨有的。
到此這篇關于Nginx 被動檢查服務器的存活狀態(tài)的文章就介紹到這了,更多相關Nginx檢查服務器存活狀態(tài)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
nginx-ingress-controller日志持久化方案的解決
這篇文章主要介紹了nginx-ingress-controller日志持久化方案的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03

