天天看點

Nginx負載均衡之一緻性雜湊演算法

Nginx

提供了多種負載均衡算法,

ip_hash

是其中的一種,但是通常情況下不用他而用第三方的算法,為什麼?

因為

ip_hash

Nginx

是第一層代理時才有效果,如果在經過

Nginx

前經過了其他代理時,會造成擷取的

ip

不正确。

upstream web_server {
   ip_hash;
   server 1.1.1.1:8083   weight=5 max_fails=3 fail_timeout=30s;
}
           

常用的一緻性雜湊演算法:

ngx_http_consistent_hash

  1. 下載下傳并解壓

    unzip ngx_http_consistent_hash-master.zip

  2. 重新編譯

    Nginx

    檔案,并添加此子產品:

    ./configure --add-module=/ngx_http_consistent_hash-master

    。注意:重新編譯會覆寫原有的

    Nginx

    ,是以在重新編譯前,有必要了解上一次編譯時,安裝了哪些子產品:

    nginx -V

  3. make && make install

  4. 配置新的雜湊演算法
    upstream www.a.com {
        consistent_hash $request_uri;
    	server 1.1.1.1:8083 weight=5 max_fails=3 fail_timeout=30s;
    }
               

繼續閱讀