负载均衡
增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
实现效果:
浏览器地址栏输入地址:http:localhost/vod/a.html,负载均衡效果,平均转发到8080和8082
准备工作:
两台tomcat:
- tomcat9 8082端口
- tomcat8 8080端口
分别在webapps中新建vod文件夹,新建一个a.html文件。内容随意,可以区分就好。
配置Nginx:
nginx.conf:
在http块中加入:
在server里面加上转发规则名字:
测试:
浏览器输入: http://localhost/vod/a.html
第一次:
第二次(刷新):
接下来不断刷新的结果:两个服务器轮流访问。
负载均衡策略
1. 轮询(默认):
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2. weight:
weight代表权重,默认都为1,权重越高被分配的客户端越多。
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
例如:
浏览器访问6次的结果为:8082为4次,8080为2次。
3. ip_hash:
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
例如:
访问: http://localhost/vod/a.html 每次都为8080端口。
4. fair(第三方):
按照后端服务器的响应时间来分配请求,响应时间短的优先分配。(需要安装fair模块)
例如: