目錄nginx 負載均衡的實現需要配置ngx_http_upstream_module
模組(官方文件),使用此模組時,需要用到反向**相關的ngx_http_proxy_module
模組(官方文件),切記不可混淆兩個模組 。
# 例項
# 也可以設定每個伺服器分配請求的權重
[root@lb01 ~]# cat /etc/nginx/conf.d/wecenter.wqh.com.conf
upstream wecenter
server
}
分配權重後,每個伺服器處理的請求按比例分配:
排程演算法
簡稱概述
輪詢round-robin(rr)
按請求的時間順序,平均分配到後端伺服器
加權輪詢
weight-round-robin(wrr)
加權輪詢,weight 值越大,分配到的請求的比重越高;該權重值,主要是針對實際工作環境中不同的後端伺服器硬體配置進行調整的
ip_hash
無每個請求按照訪問的 ip 的 hash 結果分配,這樣來自同乙個 ip 的訪問請求都會固定到乙個後端伺服器,一定程度上解決了集群部署環境下session共享的問題
url_hash
無每個請求按照訪問的 url 的 hash 結果分配,這樣每乙個 url 的訪問請求都會固定到乙個後端伺服器
最小連線數
least_conn
最少連線數演算法,哪個後端伺服器連線數少,就分配給哪一台後端伺服器
智慧型調整排程演算法
fair
動態的根據後端伺服器的請求處理到響應的時間進行均衡分配,響應時間短處理效率高的伺服器分配到請求的概率高,需要 upstream_fair 模組
狀態
概述
down
當前的 server 暫時不參與負載均衡排程,一般用於維護(也可以使用注釋)
backup
預留的備份伺服器,除非其他伺服器全部無法使用,否則不會生效
max_fails
允許請求失敗的次數,由 fail_timeout 定義請求超時(即失敗)的時間
fail_timeout
經過max_fails失敗後,服務暫停時間
max_conns
限制最大的接收連線數
# example configuration
[root@lb01 ~]# vi /etc/nginx/conf.d/blog.wqh.com.conf
upstream blog
server
}
如果後台服務連線超時,nginx是本身是有機制的,如果出現乙個節點宕停機的時候,nginx 會更據你具體負載均衡的設定,將請求轉移到其他的節點上,但是,如果後台服務連線沒有停機,但是返回錯誤異常碼(504,502,500)的時候,你需要加乙個負載均衡的設定,如下:
意思是,當其中一台返回錯誤碼 404,502 等錯誤時,可以分配到下一台後端伺服器程式處理,提高平台訪問成功率 。
# 新增 proxy_next_upstream 字段
[root@lb01 ~]# cat /etc/nginx/conf.d/blog.wqh.com.conf
upstream blog
server
}
Nginx與七層負載均衡
我們知道四層負載均衡主要採用更改ip資料報的位址的方式來進行分流,響應結果通常由後端機器直接返回給客戶端 例如lvs的dr模式 而七層負載均衡主要應用於http協議,所使用的技術和四層不一樣。具體過程是客戶端傳送http請求到七層負載均衡伺服器,七層伺服器則將請求傳送給後端伺服器,後端伺服器處理完請...
Nginx與七層負載均衡
我們知道四層負載均衡主要採用更改ip資料報的位址的方式來進行分流,響應結果通常由後端機器直接返回給客戶端 例如lvs的dr模式 而七層負載均衡主要應用於http協議,所使用的技術和四層不一樣。具體過程是客戶端傳送http請求到七層負載均衡伺服器,七層伺服器則將請求傳送給後端伺服器,後端伺服器處理完請...
七層負載均衡之nginx
一 nginx 1.名詞解釋 nginx engine x 是乙個高效能的http和反向 伺服器,反向 reverse proxy 方式是指以 伺服器來接受internet上的連線請求,然後將請求 給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時 伺服器對...