nginx有几种负载均衡的方式?分别是什么?

提问者:帅平 问题分类:运维

nginx有几种负载均衡的方式?分别是什么?

8 个回答
Rae
Rae 管理员

最后再补充下,使用最多的方式主要还是:

1、Round Robin方式
2、IP Hash方式

发布于:2个月前 (10-01)
Rae
Rae 管理员

Random方式,即每个请求将被传递到随机选择的服务器。

如果指定了两个参数,首先,NGINX根据服务器权重随机选择两个服务器,然后使用指定的方法选择其中一个:

least_conn :活动连接的最少数量
least_time=header:从服务器接收响应标头的最短平均时间 ($upstream_header_time)。
least_time=last_byte :从服务器接收完整响应的最短平均时间($upstream_response_time)。

配置示例如下:

upstream mall-server {
   random two least_time=last_byte;
   server 192.168.31.1:8080;
   server 192.168.31.2:8080;
}

发布于:2个月前 (10-01)
Rae
Rae 管理员

Least Time (NGINX Plus only)方式,即对于每个请求,nginx选择具有最低平均延迟和最低活动连接数的服务器。

其中最低平均延迟是根据包含least_time指令的下列参数计算的:

header :从服务器接收第一个字节的时间。
last_byte:从服务器接收完整响应的时间。
last_byte inflight:从服务器接收完整响应的时间。

配置示例如下:

upstream mall-server {
    least_time header;
   server 192.168.31.1:8080;
   server 192.168.31.2:8080;
}

发布于:2个月前 (10-01)
Rae
Rae 管理员

Generic Hash方式,即将请求发送到的服务器由用户定义的键决定,该键可以是文本字符串、变量或组合。配置示例如下:

upstream mall-server {
   hash $request_uri consistent;
   server 192.168.31.1:8080;
   server 192.168.31.2:8080;
}

发布于:2个月前 (10-01)
Rae
Rae 管理员

IP Hash方式,即 发送请求的服务器由客户机IP地址决定。在这种情况下,使用IPv4地址的前三个字节或整个IPv6地址来计算散列值。该方法保证来自相同地址的请求到达相同的服务器,除非该服务器不可用。配置示例如下:

upstream mall-server {
   ip_hash;
   server 192.168.31.1:8080;
   server 192.168.31.2:8080;
}

发布于:2个月前 (10-01)
Rae
Rae 管理员

Least Connections方式,即以最少的活动连接数将请求发送到对应的服务器,也就是哪个连接数少,就发到对应的服务器,配置示例如下:

upstream mall-server {
   least_conn;
   server 192.168.31.1:8080;
   server 192.168.31.2:8080;
}

发布于:2个月前 (10-01)
Rae
Rae 管理员

Round Robin方式,即对所有的请求进行轮询发送请求,配置示例如下:

upstream mall-server {
   server 192.168.31.1:8080;
   server 192.168.31.2:8080;
}

发布于:2个月前 (10-01)
Rae
Rae 管理员

nginx负载均衡的实现方式有4种,分别是:

1、Round Robin方式
2、Least Connections方式
3、IP Hash方式
4、Generic Hash方式

发布于:2个月前 (10-01)
Rae
Rae管理员

还有两种用的非常少的方式,就是:

1、.Least Time方式
2、Random方式

发布于:2个月前 (10-01)
我来回答