nginx負載均衡演算法
1、輪詢(預設)
每個請求按時間順序逐一分配到不同的後端服務,如果後端某台伺服器宕機,自動剔除故障系統,使使用者訪問不受影響。
upstream tomcat_server {
server 192.168.10.11:8080 weight=1;
server 192.168.10.12:8080 weight=1;
weight (輪詢權值)
weight的值越大分配到的訪問概率越高,主要用於後端每台伺服器效能不均衡的情況下。或者僅僅為在主從的情況下設定不同的權值,達到合理有效的利用主機資源。
upstream tomcat_server {
server 192.168.10.11:8080 weight=1;
server 192.168.10.12:8080 weight=2;
2、least_conn
least_connected 方式可以更公平的將負載分配到多個機器上面。使用least_connected,nginx不會將請求分發到反面的機器上面,而且將新的請求分發到較清閒的機器上面。
upstream tomcat_server {
least_conn;
server 192.168.10.11:8080 weight=1;
server 192.168.10.12:8080 weight=1;
3、ip_hash
每個請求按訪問ip的雜湊結果分配,使來自同乙個ip的訪客固定訪問一台後端伺服器,並且可以有效解決動態網頁存在的session共享問題。
upstream tomcat_server {
ip_hash;
server 192.168.10.11:8080 weight=1;
server 192.168.10.12:8080 weight=1;
4、fair
比weight、ip_hash更智慧型的負載均衡演算法,fair演算法可以根據頁面大小和載入時間長短智慧型地進行負載均衡,也就是根據後端伺服器的響應時間來分配請求,響應時間短的優先分配。nginx本身不支援fair,如果需要這種排程演算法,則必須安裝upsteram_fair模組。
upstream tomcat_server {
fair;
server 192.168.10.11:8080 weight=1;
server 192.168.10.12:8080 weight=1;
5、url_hash
按訪問的url的雜湊結果來分配請求,使每個url定向到一台後端伺服器,可以進一步提高後端快取伺服器的效率。nginx本身不支援url_hash,如果需要這種排程演算法,則必須安裝nginx的hash軟體包。
upstream tomcat_server {
hash $request_uri;
hash_method crc32;
server 192.168.10.11:8080 weight=1;
server 192.168.10.12:8080 weight=1;
nginx負載均衡排程狀態
在nginx upstream模組中,可以設定每台後端伺服器在負載均衡排程中的狀態,常用的狀態有:
down:表示當前的server暫時不參與負載均衡。
backup:預留的備份機器。當其他所有的非backup機器出現故障或者忙的時候,才會請求backup機器,因此這台機器的訪問壓力最低。
max_fails:允許請求失敗的次數,預設為1,當超過最大次數時,返回proxy_next_upstream模組定義的錯誤。
fail_timeout:請求失敗超時時間,在經歷了max_fails次失敗後,暫停服務的時間。max_fails和fail_timeout可以一起使用。
nginx 負載均衡演算法
1 輪詢 就是按照時間順序分配下乙個請求的伺服器。2 權值輪詢 給每乙個伺服器加上權值,權值和分配的請求成正比,比較適應於伺服器配置不均的情況。upstream backend 3 ip雜湊 根據ip的雜湊值分配,這樣每個ip每次訪問的伺服器都相同,這樣session的處理會容易些。upstream...
Nginx 負載均衡演算法
1 輪詢 預設 每個請求按順序逐一分配到不同的伺服器,如果某台伺服器宕機,自動剔除故障系統,整個服務保證可用 2 weight 輪詢加權 weight的值越大分配到的訪問概率越高 upstream bakend 3 ip hash 每個請求按訪問ip的雜湊結果分配,使來自同乙個ip的訪客固定訪問一台...
Nginx負載均衡演算法
目前只有思路,過兩天上 伺服器 權重 a 5 b 3 c 2 1 總的權重是10,先隨機出乙個數字 肯定是10以內的數字 2 然後遍歷權重的陣列 5,3,2 乙個乙個的去比較 核心 遍歷ip 拿到權重weight if offset 數形結合 權重座標 0 5 8 10 a b c 如果offset...