一、负载均衡实例
- 实现效果
- 浏览器地址栏输入地址 http://192.168.253.130/edu/a.html,负载均衡效果,平均 8080
和 8081 端口中
- 准备工作
- 准备两台 tomcat 服务器,一台 8080,一台 8081
- 在两台 tomcat 里面 webapps 目录中,创建名称是 edu 文件夹,在 edu 文件夹中创建
页面 a.html,用于测试
- 在 nginx 的配置文件中进行负载均衡的配置
- 找到 nginx 配置文件进行如下
- 退出保存 重新加载nginx :./nginx -s reload
- 测试
二、 Nginx 提供的负载均衡(策略)
- 轮询(默认)
- 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除
upstream myserver{
server 192.168.253.130:8080;
server 192.168.253.130:8081;
}
- weight
- weight 代表权,重默认为 1,权重越高被分配的客户端越多
- 指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。 例如:
upstream myserver{
server 192.168.253.130:8080 weight= 10;
server 192.168.253.130:8080 weight= 9;
}
- ip_hash
- 每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。 例如
upstream myserver{
ip_hash;
server 192.168.253.130:8080;
server 192.168.253.130:8081;
}
- fair
- 按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream myserver{
server 192.168.253.130:8080;
server 192.168.253.130:8081;
fair;
}