1. 程式人生 > >Nginx的負載均衡max_fails和fail_timeout設置

Nginx的負載均衡max_fails和fail_timeout設置

可選參數 oss ado 檢查 col http 說明 blog pre

描述

在Nginx的負載均衡檢查模塊中,對於負載均衡的節點可以配置如下可選參數參數:

max_fails=1

fail_timeout=10s

這個是Nginx在負載均衡功能中,用於判斷後端節點狀態,所用到兩個參數。

Nginx基於連接探測,如果發現後端異常,在單位周期為fail_timeout設置的時間,中達到max_fails次數,這個周期次數內,如果後端同一個節點不可用,那麽接將把節點標記為不可用,並等待下一個周期(同樣時常為fail_timeout)再一次去請求,判斷是否連接是否成功。如果成功,將恢復之前的輪詢方式,如果不可用將在下一個周期(fail_timeout)再試一次。

默認:fail_timeout為10s,max_fails為1次。

說明

在兩個節點都可用的情況下,突然有一個節點掛掉,客戶端請求過來後哪怕請求到了不可用的節點,此次請求也不會失敗,因為Nginx會把此次請求轉發到另外一個可用節點,再把結果返回給客戶端。
當一個節點掛掉,Nginx不知道節點是否恢復的時候,會把客戶端的請求同時轉發到兩個節點,判斷節點健康情況。
技術分享圖片

示例

技術分享圖片
如上配置表明如果後端節點10秒內出現2次不可用情況,判定節點不可用。判定不可用後10秒內請求不會轉發到此節點,直到10秒後重新檢測節點健康情況。

Nginx的負載均衡max_fails和fail_timeout設置