詳解Nginx 被動檢查服務器的存活狀態

Nginx 被動檢查服務器的存活狀態

介紹

通過發送定期健康檢查來監控上遊組中 HTTP 服務器的健康狀況。Nginx 可以持續測試您的上遊服務器,避免出現故障的服務器,並將恢復的服務器優雅地添加到負載均衡組中。

被動健康檢查

對於被動健康檢查,Nginx 會在事務發生時對其進行監控,並嘗試恢復失敗的連接。如果事務仍然無法恢復,Nginx 將服務器標記為不可用並暫時停止向其發送請求,直到它再次標記為活動狀態。

上遊服務器標記為不可用的條件是通過上遊塊中服務器指令的參數為每個上遊服務器定義的:

  • fail_timeout :設置要將服務器標記為不可用,必須進行多次失敗嘗試的時間,以及服務器標記為不可用的時間(默認值為10秒)。
  • max_fails :設置在 fail_timeout 期間必須發生的失敗嘗試次數,以便將服務器標記為不可用(默認值為1次嘗試)。

在以下示例中,如果Nginx在30秒內3次未能向服務器發送請求或未收到來自服務器的響應,則會在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(商業版) 獨有的。

到此這篇關於Nginx 被動檢查服務器的存活狀態的文章就介紹到這瞭,更多相關Nginx檢查服務器存活狀態內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: