一、 Nginx的负载均衡策略
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。Nginx本身是不支持fair的,如果需要使用这种调度算法,必须下载Nginx的upstream_fair模块。
4、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。Nginx本身是不支持url_hash的,如果需要使用这种调度算法,必须安装Nginx 的hash软件包。
二、 Nginx负载均衡配置
1. 首先需要配置并启动两个tomcat服务器
Tomcat1,端口8080
Tomcat2,端口8081
2. 打开编辑nginx的配置文件,/usr/local/nginx/conf/nginx.conf
新增如下节点:
修改相应的反向代理处的配置:
三、 测试
在两个tomcat下新建两个同样的工程t,其中放入同样的jsp测试页面。
tomcat1中jsp页面信息为:
Tomcat2中jsp页面信息为:
打开浏览器,输入:localhost/t/test.jsp,回车,此时出现的是tomcat1上的test页面。
再刷新多次,将会出现tomcat2上的test页面,因为设置中weight比为2:1,所以两个页面出现的概率大概为2:1
此时,负载均衡配置完成。也可以使用其他的策略,只需要修改相应的配置即可。