Nginx反向代理的常用調度算法

upstream 調度算法


1.rr

按客戶端請求順序把客戶端的請求逐一分配到不同的后端的服務器,這相當于lvs中的rr算法。如果后端服務器巖機(默認情況下只檢測80端口,如果后端報502,404,403,503,還是會直接返給用戶),巖機服務器會被自動剔除,使用戶訪問不受影響,請求會分配給正常的服務器


2.weight(權重)

在輪詢算法的基礎上加上權重(默認rr+weight),權重輪詢和訪問成正比,權重越大,轉發的請求也就越多??梢愿鶕盏呐渲煤托阅苤付嘀刂荡笮?,可以有效解決新舊服務器性能不均進行請求分配問題


3.ip_hash

每個請求按訪問的ip的hash結果分配,當新的請求到達時,先將其客戶端的ip通過哈希算法出一個值,在最后的請求客戶端,ip的哈希值只要相同,就會被分配至同一臺服務器(lvs負載均衡的-p參數,keepalive配置里的persistene_timeout 50),該調度算法可以解決動態網頁session共享問題,但是有時會導致請求分配不均,即無法保證1:1的負載均衡,在國內所有的公司都是nat上網,多個pc對應一個外部ip。


    提示:必須是最前端的服務器,后端也必須直接接應用服務器多數情況不能和權重參數一起使用。


4.fair(第三方,no)動態算法

按照后端服務器rs的響應時間來分配請求,響應時間短的優先分配。

比上面兩個更加智能的負載均衡算法,此種算法可以依據頁面大小和加載時間長短智能地進行負載均衡,也就是根據后端服務器的響應時間來分配請求,響應時間短的優先分配,nginx本身不支持fair的,如果需要使用這種調度算法,必須有下載nginx的upstaeam_fair模塊


5.least_conn

最少連接數,哪個機器連接數少,就分發。


6.一致性hash


http://tengine.taobao.org/document_cn/http_upstream_consistent_hash_cn.html

worker_processes  1;

http {
    upstream test {
        consistent_hash $request_uri;

        server 127.0.0.1:9001 id=1001 weight=3;
        server 127.0.0.1:9002 id=1002 weight=10;
        server 127.0.0.1:9003 id=1003 weight=20;
    }
}


原創文章,作者:Net20_赤羽,如若轉載,請注明出處:http://www.www58058.com/15807

(2)
Net20_赤羽Net20_赤羽
上一篇 2016-06-01
下一篇 2016-06-01

相關推薦

  • CentOS啟動流程

      我們介紹一下CentOS操作系統的詳細啟動流程,了解這些啟動流程之后,我們可以實驗做一個小型的Linux。 1、Linux的組成 2、Linux的運行環境 3、Linux的啟動流程 3.1、POST加電自檢 3.2、Boot Sequence(啟動次序) 3.3、MBR 3.4、Kernel 3.5、init 1、Linux的組成 &…

    Linux干貨 2016-12-04
  • Net25-第10周作業

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) Centos系統啟動過程分內核空間啟動和用戶空間啟動: 內核空間啟動流程: POST: post加點自檢,檢測計算機基本5大件是否完好,計算機可被正常點亮。 BootSequence: 位于ROM上的BIOS的BootSequence來選擇啟動順序 Bootloader: 決定啟動順…

    Linux干貨 2017-03-15
  • raid5創建

    創建分區并改類型 創建raid5   創建把文件系統 生成配置文件    

    2017-12-17
  • M20 – 1- 第二周博客(2):Linux的常用命令與通配符

    1、Linux的常用命令 pwd 命令 簡介: Print the name of the current working directory. 格式: pwd [-LP] 實例1 [root@centos6 local]# pwd  &n…

    Linux干貨 2016-08-03
  • openssl、openssh

    openssl 傳輸層協議:TCP,UDP,SCTPport:進程地址,進程向內核注冊使用某端口(獨占) 同一主機上的進程間通信:IPC, message queue, shm, semerphor 不同主上的進程間通信:socket cip:port <– –> sip:port cip:55673 <&#8211…

    Linux干貨 2017-05-31
  • 電子眼find

     1、摩根定律。         話不多說,先上圖。          如圖:A和B交集為3    A = 4 + 3  &nbs…

    Linux干貨 2016-08-16
欧美性久久久久