Nginx负载均衡_轮训策略与加权轮询

章节目录

  • 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


多次显示权重较高的后端服务器上部署的页面 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

结果

一直显示page3

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

结果

一直显示page3

你可能感兴趣的:(Nginx负载均衡_轮训策略与加权轮询)