发布于 4年前

nginx实现负载均衡有哪几个模式

nginx实现负载均衡有几种模式:

1、轮询

每个请求按时间顺序逐一分配到不同的后端服务器,也是nginx的默认模式。轮询模式的配置很简单,只需要把服务器列表加入到upstream模块中即可。

下面的配置是指:负载中有三台服务器,当请求到达时,nginx按照时间顺序把请求分配给三台服务器处理。

upstream serverList {

    server 1.2.3.4;

    server 1.2.3.5;

    server 1.2.3.6;

    }

2、ip_hash

每个请求按访问IP的hash结果分配,同一个IP客户端固定访问一个后端服务器。可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题。

下面的配置是指:负载中有三台服务器,当请求到达时,nginx优先按照ip_hash的结果进行分配,也就是同一个IP的请求固定在某一台服务器上,其它则按时间顺序把请求分配给三台服务器处理。

upstream serverList {

    ip_hash

    server 1.2.3.4;

    server 1.2.3.5;

    server 1.2.3.6;

}

3、url_hash

按访问url的hash结果来分配请求,相同的url固定转发到同一个后端服务器处理。

upstream serverList {

    server 1.2.3.4;

    server 1.2.3.5;

    server 1.2.3.6;

    hash $request_uri; 

    hash_method crc32; 

}

4、fair

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

upstream serverList {

server 1.2.3.4;

server 1.2.3.5;

server 1.2.3.6;

fair;

}

©2020 edoou.com   京ICP备16001874号-3