上一篇 <<<Nginx使用場景之反向代理
下一篇 >>>Nginx使用場景之跨域解決
負載均衡 通過對集群的節點實現負載均衡,減少單臺服務器壓力,實現故障轉移(重試機制和冪等問題)、健康監測(tcp、http、心跳監測)等。
負載均衡策略
負載均衡、故障轉移、失敗重試、容錯、健康檢查等
1、輪詢(默認)每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。
2、指定權重 指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。
3、IP綁定 ip_hash 每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。
4、fair(第三方)按后端服務器的響應時間來分配請求,響應時間短的優先分配。
5、url_hash(第三方)按訪問url的hash結果來分配請求,使每個url定向到同一個后端服務器,后端服務器為緩存時比較有效。
負載均衡示例
###定義上游服務器(需要被nginx真實代理訪問的服務器)
upstream backServer{
#a、權重配置
server 127.0.0.1:9091 weight=1;
server 127.0.0.1:9092 weight=2;
#b、iphash
server 127.0.0.1:9091;
server 127.0.0.1:9092;
ip_hash;
}
server {
listen 8888;
server_name localhost;
location / {
#負載均衡分流
proxy_pass http://backServer;
# 配置超時時間才可以自動做故障轉移
###nginx與上游服務器(真實訪問的服務器)超時時間 后端服務器連接的超時時間_發起握手等候響應超時時間
proxy_connect_timeout 1s;
###nginx發送給上游服務器(真實訪問的服務器)超時時間
proxy_send_timeout 1s;
### nginx接受上游服務器(真實訪問的服務器)超時時間
proxy_read_timeout 1s;
index index.html index.htm;
}
}
主從服務
upstream backServer{
server 127.0.0.1:9091 ;
#加上backup的時候,指明是從服務器,一旦主服務器掛了之后,就會啟用從服務器,主服務器恢復時調用主服務器
server 127.0.0.1:9092 BACKUP;
}
推薦閱讀:
<<<DNS域名解析過程
<<<初識Nginx與負載均衡
<<<Nginx使用場景之靜態服務器
<<<Nginx使用場景之虛擬主機(動靜分離)
<<<Nginx使用場景之反向代理
<<<Nginx使用場景之跨域解決
<<<Nginx使用場景之資源壓縮
<<<Nginx使用場景之數據緩存
<<<前后端分離場景通過Nginx調試本地后端接口
<<<Nginx Location指令詳解
<<<Nginx全局變量
<<<Nginx導致圖片下載失敗的原因分析
<<<Nginx+Consul+upSync實現動態負載均衡
<<<Nginx+Lvs+keepAlived實現高可用
<<<Linux環境安裝Nginx
<<<Linux環境安裝keepAlived
<<<Keepalived虛擬vip功能
<<<Nginx安全防護匯總(轉)