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; }
把连接转发到较少的后端服器上
upstream test { least_conn; server 192.168.31.1:8080; server 192.168.31.2:8080; }
公平地按照后端服务器的响应时间(rt)来分配请求,响应时间(rt)小的后端服务器优先分配请求。
upstream test { fair; server 192.168.31.1:8080; server 192.168.31.2:8080; }
每个请求按访问的ip的hash结果分配,这样每台服务器固定一个后端服务
upstream test { ip_hash; server 192.168.31.1:8080; server 192.168.31.2:8080; }
注意
这个一般用于session数据的保存,因为服务之间不能切换,不然切换服务后session会失效,固定后端服务,保证session不丢失。
与
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; }
本文作者:澳门🇲🇴上班的IT人
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!