本文主要是介绍Nginx的upstream上游服务分配策略总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Nginx分配服务的策略
轮询,权重轮询,ip_hash,url_hash,fail服务器响应时间。一共五中分配方式
1. 默认轮询
将请求轮流分配到每一个服务器,某个服务器挂掉后能自动剔除,
upstream gateway{server 192.168.1.11:8888;server 192.168.1.22:8888;server 192.168.1.33:8888;
}
2. 权重轮询
在轮询的基础上可以给某个服务器设置权重,权重越大,转发访问的概率越大。
upstream zhang21 {server 192.168.1.11 weight=1;server 192.168.1.22 weight=2;server 192.168.1.33 weight=3;}
3. ip_hash
根据请求的ip转换成hash,根据hash结果来进行分配服务器。可以让同一个ip地址多次访问到同一个服务器,适用于做压力测试。多次请求能访问到同一个服务。
upstream zhang21 {ip_hash;server 192.168.1.11:7777;server 192.168.1.22:8888;server 192.168.1.33:9999;}
4. fair公平
根据后端服务器的响应时间来进行分配请求,响应时间越短的服务器有限分配请求。
upstream zhang21 {fair;server 192.168.1.11;server 192.168.1.22;server 192.168.1.33;}
5. url_hash
按照url对应的hash值来分配请求,同一个url访问同一个服务器。适用于访问缓存服务器。
upstream zhang21 {server 192.168.1.11;server 192.168.1.22;server 192.168.1.33;hash $request_uri;hash_method crc32;}
hash_method为hash采用的算法
参考
Nginx的upstream详解
负载均衡的6种算法,Ngnix的5种算法!
这篇关于Nginx的upstream上游服务分配策略总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!