欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx负载均衡之一致性哈希算法

程序员文章站 2024-03-19 22:45:16
...

Nginx提供了多种负载均衡算法,ip_hash是其中的一种,但是通常情况下不用他而用第三方的算法,为什么?

因为ip_hashNginx是第一层代理时才有效果,如果在经过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;
    }