章节目录
- Nginx 负载均衡调度策略
- 加权轮询演示
- ip_hash
- url_hash
Nginx 负载均衡调度策略
调度策略 | 含义 |
---|---|
轮询 | 按照时间顺序,逐一分配到不同的后端服务器 |
加权轮询 | weight值越大,分配到的访问几率越高 |
ip_hash | 每个请求按访问IP的hash结果分配,这样来自同一个IP的请求固定访问一个后端服务器,可以解决分布式session问题,但不是最优的解决办法,另一个即集中式session存储校验,将session放到redis集群当中。 |
url_hash | 按照访问的URL的hash结果来分配请求,使一个URL始终定向到同一个后端服务器 |
less_conn | 最少连接数,哪个机器连接数少,就分发 |
hash关键数值 | hash自定义的key |
加权轮询演示
1.修改 upstream_test.conf 中upstream server配置
upstream testUpstream {
server eshop-cache04:8081 weight=5; //权重设置为5 ,如果7个请求过来,理论上有5个会落到8081对应的后端服务器上。
server eshop-cache04:8082;
server eshop-cache04:8083;
}
多次刷新浏览器会发现浏览器显示 it is page1
ip_hash
基于用户ip计算ip值,ip hash 之后便会显示使的特定ip的请求一直被特定后端服务器处理。
**配置upstream_test.conf **
1.修改采用ip_hash 方式来进行请求负载
upstream testUpstream {
ip_hash;
server eshop-cache04:8081;
server eshop-cache04:8082;
server eshop-cache04:8083;
}
2.重载配置
nginx -s reload
结果
url_hash
将用户请求的资源定位至某一台后端服务器去处理。
**1.配置upstream_test.conf **
upstream testUpstream {
#ip_hash;
hash $request_uri;//非域名后面的资源部分。
server eshop-cache04:8081;
server eshop-cache04:8082;
server eshop-cache04:8083;
}
2.重载配置
nginx -s reload
结果