一.负载均衡

1.1 负载均衡概述

随着互联网信息的爆炸性增长,负载均衡(load balance)已经不再是一个陌生的话题,负载均衡是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验,快速增长的访问量和数据流量催生了各式各样的负载均衡的产品,很多专业的的负载均衡硬件提供了很好的功能,但价格不菲,这使得负载均衡软件大受欢迎,nginx就是其中一个,在linux下有nginx、lvs、haproxy等服务,可以提供复杂均衡服务。

1.2 负载均衡的策略

第1种 轮询(默认) ;

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

upstream myserver{
  server 127.0.0.1:8081;
  server 127.0.0.1:8082;
}

第2种 weight

weight 代表权重默认为 1,权重越高被分配的客户端越多。指定轮询几率,weight权重大小和访问比率成正比。用于后端服务器性能不均衡的情况。

第3种 ip_hash

每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器

好处:使用nginx+ip_hash这种策略代理,很好解决了同一用户访问同一个应用,session不共享的问题,实现session共享的问题。

第4种 fair 

按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream myserver{
  server 127.0.0.1:8081;
  server 127.0.0.1:8082;
   fair
}

第5种:url_hash

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效
upstream myserver{
  server 127.0.0.1:8081;
  server 127.0.0.1:8082;
  hash $request_uri;
  hash_method crc32;
}

二 案例描述

2.1 需求描述

需求描述:

1.在192.168.152.131部署两台tomcat,一个是8080和一个是8081。

2.浏览器地址栏输入地址 http://192.168.152.131/henan/a.html,负载均衡效果,平均的在 8080 和 8081 端口中轮流显示。

2.2 在tomcat8080下新建一个henan项目

假设新建一个项目:henan,里面的页面a.html.

a.html的内容为:

2.3 在tomcat8081下新建一个henan项目

假设新建一个项目:henan,里面的页面a.html.

a.html的内容为:

2.4 在 nginx 的配置文件中进行负载均衡的配置

通过配置可以看到在nginx上并没有配置,关于访问路径中henan的字样

2.5 页面访问

#第一次访问:http://www.xxjt.net/henan/a.html

#刷新,第2次访问:http://www.xxjt.net/henan/a.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐