天天看點

Nginx作為負載均衡服務_backup狀态示範

Nginx作為負載均衡服務_backup狀态示範

1、upstream舉例

upstream backend {

server backend1.example.com weight=5;

server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;

server unix:/tmp/backend3;

server backup1.example.com backup;

}

配置詳解:

weight=5表示權重,例如:用戶端發起了7個請求,5個請求走backend1.example.com,1個請求走127.0.0.1:8080,另1個請求走unix:/tmp/backend3。

max_fails=3 表示最大失敗次數

fail_timeout=30s 表示嘗試最大失敗次數之後,需要等待30秒後,接着重試

backup 表示備用伺服器,平時用不上,一旦其他伺服器挂了,就會啟用備用伺服器。

2、後端伺服器在負載均衡排程中的狀态

Nginx作為負載均衡服務_backup狀态示範

3、負載均衡排程中的狀态配置使用

溫馨提示:實作負載均衡配置示範需要兩台伺服器(我這裡示範使用了騰訊雲和阿裡雲伺服器)。

我的騰訊雲伺服器位址(這裡定義為A伺服器):193.112.108.135

我的阿裡雲伺服器位址(這裡定義為B伺服器):120.78.153.144

(1)負載均衡狀态配置

A伺服器配置upstream:

Nginx作為負載均衡服務_backup狀态示範

server 120.78.153.144:800 down;表示第一個服務不可用

server 120.78.153.144:81 backup;表示第二服務為備用服務

server 120.78.153.144:82 max_fails=1 fail_timeout=10s;表示可用服務,但最大失敗1次之後需要等待10秒鐘之後,繼續重試。

(2)負載均衡狀态配置是否生效

第一次通路A伺服器:

Nginx作為負載均衡服務_backup狀态示範

第二次通路A伺服器:

Nginx作為負載均衡服務_backup狀态示範

第三次通路A伺服器:

通路了三次A伺服器,你會發現,狀态為down、backup的server是不可以通路的服務,是以負載均衡狀态配置是生效的。

(3)模拟挂掉一個端口服務,檢視backup狀态的server是否生效

B伺服器先檢視iptables防火牆政策:沒有任何設定

iptables -L -n

然後B伺服器設定防火牆政策:模拟挂掉82端口服務

iptables -I INPUT -p tcp --dport 82 -j DROP

接着通路A伺服器驗證效果:

第一次通路A伺服器:發現82端口服務通路不了,會花一點時間進行檢測,然後會啟用backup服務

Nginx作為負載均衡服務_backup狀态示範

最終通路backup備用服務(81端口)

Nginx作為負載均衡服務_backup狀态示範

繼續閱讀