编辑
2024-02-26
Nginx
0
请注意,本文编写于 478 天前,最后修改于 478 天前,其中某些信息可能已经过时。

目录

负载均衡策略
轮询(默认)
权重
least_conn最少连接
fair
ip_hash
url_hash

upstream 参数

参数描述
service反向服务地址加端口
weight权重
max_fails失败多少次,认为主机已经挂掉,踢出
fail_timeout踢出后重新探测时间
backup备用服务
max_conns允许最大连接数
slow_start当节点恢复,不立即加入

负载均衡策略

轮询(默认)

每个请求会按照时间逐一分配到不同的后端服务器上

upstream test { server 192.168.31.1:8080; server 192.168.31.2:8080; }

也就是说我的第一个请求会落在1服务上,第二个会落在2,第三个1,第四个2…

权重

权重越大 ,访问的几率就越大,如果服务器处理性能有差异,可以降性能好的,权重大一点;处理性能低的权重小一点。

upstream test { server 192.168.31.1:8080 weight=4; server 192.168.31.2:8080 weight=6; }

least_conn最少连接

把连接转发到较少的后端服器上

upstream test { least_conn; server 192.168.31.1:8080; server 192.168.31.2:8080; }

fair

公平地按照后端服务器的响应时间(rt)来分配请求,响应时间(rt)小的后端服务器优先分配请求。

upstream test { fair; server 192.168.31.1:8080; server 192.168.31.2:8080; }

ip_hash

每个请求按访问的ip的hash结果分配,这样每台服务器固定一个后端服务

upstream test { ip_hash; server 192.168.31.1:8080; server 192.168.31.2:8080; }

注意

这个一般用于session数据的保存,因为服务之间不能切换,不然切换服务后session会失效,固定后端服务,保证session不丢失。

url_hash

ip_hash类似,但是按照访问 url 的 hash 结果来分配请求,使得每个 url 定向到同一个后端服务器,主要应用于后端服务器为缓存的场景下

upstream test { hash $request_uri; #指定hash算法 hash_method crc32; server 192.168.31.1:8080; server 192.168.31.2:8080; }
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:澳门🇲🇴上班的IT人

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!