nginx 负载均衡策略

Posted 十光年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx 负载均衡策略相关的知识,希望对你有一定的参考价值。

nginx 负载均衡策略

 
1. 轮询

轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如:

upstream backend {
server backend1.example.com;
server backend2.example.com;
}

这种情况是每个server都使用相同的权重,默认值为1

可以手动设定权重,例如

upstream backend {
server backend1.example.com weight=5;
server backend2.example.com;
}

2. 最少连接数

把请求发送给激活连接数最少的那台服务器

设置方式

upstream backend {
least_conn;

server backend1.example.com;
server backend2.example.com;
}

3. 最少延时

把请求发送给连接延时最小的那台服务器

延时的计算方式有两种:

(1)header - 从server接收到第一个byte的时间

(2)last_byte - 从server接收到全部响应的时间

设置方式

upstream backend {
least_time header;

server backend1.example.com;
server backend2.example.com;
}

4. ip hash

根据用户IP计算出一个hash值,并记录下来,以后相同hash值的请求都发送到同一个server,同一个用户的请求始终使用同一台服务器,不用担心跨服务器时的session问题

设置方式

upstream backend {
ip_hash;

server backend1.example.com;
server backend2.example.com;
}

5. 通用hash

对用户指定的key进行hash计算,可以指定文本、变量或者组合

设置方式

upstream backend {
hash $request_uri consistent;

server backend1.example.com;
server backend2.example.com;
}

 











































































以上是关于nginx 负载均衡策略的主要内容,如果未能解决你的问题,请参考以下文章

Ribbon-负载均衡策略

nginx负载均衡

Nginx实现负载均衡

Nginx——nginx作为负载均衡服务(负载均衡策略ip_hash方式)

nginx负载均衡策略

Nginx的负载均衡策略及配置