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、後端伺服器在負載均衡排程中的狀态
3、負載均衡排程中的狀态配置使用
溫馨提示:實作負載均衡配置示範需要兩台伺服器(我這裡示範使用了騰訊雲和阿裡雲伺服器)。
我的騰訊雲伺服器位址(這裡定義為A伺服器):193.112.108.135
我的阿裡雲伺服器位址(這裡定義為B伺服器):120.78.153.144
(1)負載均衡狀态配置
A伺服器配置upstream:
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伺服器:
第二次通路A伺服器:
第三次通路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服務
最終通路backup備用服務(81端口)