Nginx負載均衡的5種策略

Nginx的upstream目前支持的5種方式的分配

  1. 輪詢(默認)
    每一個請求按時間順序逐一分配到不一樣的後端服務器,若是後端服務器down掉,能自動剔除。
    upstream backserver {
    server 192.168.0.14;
    server 192.168.0.15;
    }html

  2. 指定權重
    指定輪詢概率,weight和訪問比率成正比,用於後端服務器性能不均的狀況。
    upstream backserver {
    server 192.168.0.14 weight=10;
    server 192.168.0.15 weight=10;
    }nginx

  3. IP綁定 ip_hash
    每一個請求按訪問ip的hash結果分配(能夠針對同一個C類地址段中的客戶端選擇同一個後端服務器,除非那個後端服務器宕了纔會換一個),這樣每一個訪客固定訪問一個後端服務器,能夠解決session的問題。
    upstream backserver {
    ip_hash;
    server 192.168.0.14:88;
    server 192.168.0.15:80;
    }後端

  4. fair(第三方)
    按後端服務器的響應時間來分配請求,響應時間短的優先分配。
    upstream backserver {
    server server1;
    server server2;
    fair;
    }緩存

  5. url_hash(第三方)
    按訪問url的hash結果來分配請求,使每一個url定向到同一個後端服務器,後端服務器爲緩存時比較有效。
    upstream backserver {
    server squid1:3128;
    server squid2:3128;
    hash $request_uri;
    hash_method crc32;
    }服務器

使用

  1. 在須要使用負載均衡的server中增長session

    proxy_pass http://backserver/;負載均衡

    upstream backserver{ #定義負載均衡設備的Ip及設備狀態
    ip_hash;
    server 10.0.0.11:9090 down;
    server 10.0.0.11:8080 weight=2;
    server 10.0.0.11:6060;
    server 10.0.0.11:7070 backup;
    }性能

    upstream還能夠爲每一個設備設置狀態值,這些狀態值的含義分別以下:ui

    down 表示單前的server暫時不參與負載.url

    weight 默認爲1.weight越大,負載的權重就越大。

    max_fails :容許請求失敗的次數默認爲1.當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤.

    fail_timeout : max_fails次失敗後,暫停的時間。

    backup: 其它全部的非backup機器down或者忙的時候,請求backup機器。因此這臺機器壓力會最輕。

本文轉自:nginx負載均衡的5種策略(轉載)
如需轉載請註明出處:http://www.javashuo.com/article/p-phvecvla-hp.html

相關文章
相關標籤/搜索