负载均衡
随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个很陌生的话题,
顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应 足够快,给用户很好的体验。
快速增长的访问量和数据流量催生了各式各样的负载均衡产品,很多专业的负载均衡硬件提供了很好的功能,但却价格不菲,这使得负载均衡软件大受欢迎
nginx就是其中的一个,在linux下有Nginx、LVS、Haproxy等等服务可以提供负载均衡服务,而且Nginx提供了几种分配方式(策略)。
nginx分配服务器策略:
第一种轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down掉,能自动剔除。
第二种 weight weight代表权重默认为1,权重越高被分配的客户端越多。
第三种 ip_hash 每个请求按访问 ip的hash结果分配,这样每个访客固定访问一个后端服务器。
第四种 fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配。
实现案例:
1、实现效果
浏览器地址栏输入地址 http://192.168.200.130/test/a.html
自动请求8080和8081两台服务器的a.html页面
2、准备工作
(1)准备两台 tomcat服务器,一台端口为8080,一台端口为8081。
(2)在两台tomcat里面的webapps目录中,创建名称是test文件夹,在test文件夹中创建 页面 a.html,用于测试。
3、在 nginx的配置文件中进行负载均衡的配置,修改配置文件nginx.conf
修改完配置后,重启nginx。
在浏览器中输入//192.168.200.130/test/a.html ,多次刷新,便可以看到每次请求的是不同的Tomcat服务器:
这个效果就是nginx实现的负载均衡,将请求转发到不同的服务器处理。
4、切换不同访问策略
使用权重策略,修改weight的值,将请求根据权重分配到不同的服务器上。
修改完配置后,重启nginx。
刷新浏览器,可以看到,服务器1连续被访问两次,服务器2只会被访问一次。
使用ip_hash策略,该策略代表一个IP地址的请求都会转发到一台服务器上处理。
具体配置如下:
修改完配置后,重启nginx。
刷新浏览器,可以看到,所有的请求都被服务器2处理。
这样每个访客固定访问一个后端服务器,可以解决 session的问题。
使用fair策略,按后端服务器的响应时间来分配请求,响应时间短的优先分配。
这种方式需要单独安装fair相关的模块,因为fair不是nginx自带的。
到此这篇关于Nginx负载均衡配置实例的文章就介绍到这了,更多相关Nginx负载均衡内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!