1) 负载均衡概念
负载均衡指的是有多台服务器接受客户端的请求,按照平均分发或者权重比例的方式,将客户端的请求(负载)分发不同的服务器,使之达到负载均衡的效果。
图4 负载均衡示意图
2) nginx实现负载均衡
Ø 我们需要准备两个tomcat服务器,端口号分别为8080、8081
Ø 在tomcat/webapps目录下新增test目录,test目录下新增test.html文件
Ø 修改nginx配置文件,如下
图5 负载均衡配置文件
Ø 分别启动两台tomcat和nginx
Ø 浏览器URL栏输入http://10.211.55.4/test/test.html验证
3) nginx分配服务策略
a. 轮询(默认)
每个请求按时间顺序逐一分配。如果后面的服务宕机,能自动剔除。
b. 权重
weight代表权重,默认值为1.权重越高分配的客户端请求越多。weight和访问比例成正比,用于服务器性能不均的情况。如下
upstream server_pool{
server 10.211.55.4:8080 weight=10;
server 10.211.55.4:8081 weight=10;
}
c. ip_hash
按ip的hash值来分配请求,可以保证每个访客固定请求一个服务器,解决session问题。
upstream server_pool{
ip_hash;
server 10.211.55.4:8080;
server 10.211.55.4:8081;
}
d. fair
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream server_pool{
server 10.211.55.4:8080;
server 10.211.55.4:8081;
fair;
}