Nginx-集群架构-3-基础应用-iphash负载均衡

回顾:

在上一篇Nginx文章中,利用Shell脚本,进行了Nginx中的VIP漂移,从而解决了Nginx的单点故障问题,完善了架构;针对于本文章主要实验 iphash负载均衡;

环境描述:

在本实验环境中,使用了Nginx的反向代理功能,当用户访问到Nginx,Nginx会依据虚拟主机的配置文件内容,默认将请求以1:1轮询的方式转发给后端的两台Web服务器,当然这里的轮询比例可以使用weight值来进行调整,具体内容如下;

1、 1:1进行轮询(默认就是)
注释:
rr 表示轮询
weight 表示权重值
max_fails=2 fail_timeout=30s 表示最大在30S内失败两次,否则就将请求转发给另一个;
2、依据权重值1:3进行轮询

在生产环境中,权重比=设备的性能比 权重范围 1-65535

3、ip_hash 算法

IP_HASH 的目的是根据用户的源IP地址进行分配,一旦分配,除非重启,否则就不会分配到别的服务器上;

我们是在bbs.zhanggeng.com下面使用的ip_hash算法,所以测试需要使用该域名进行验证;

重启Nginx之后进行测试: [root@LB ~]# /usr/local/nginx/sbin/nginx -s reload

使用 [root@Lamp1 ~]# tail -f /var/log/httpd/bbs-access_log ,来查看访问日志,该日志记录位置,是一开始做集群架构的时候在Apache的虚拟主机内容中定义的;为了更方便的观察到,可以先将该日志中的内容删除掉;

效果如下:

测试前:

在本地不断的刷新访问bbs.zhanggeng.com 之后,访问都在Lamp1这台Apache上面,如下:

修改ip_hash之后,一定要重新启动Nginx,否则是不生效的。

至此ip_hash算法现象就达到预期了。