如果是大型系统,毫无疑问当系统负载能力达到一个做事所能承受的极限时,用多个做事来分摊用户要求的压力是非常合理的想法。这就好比汽车站刚开始只有一辆汽车,当人实在是太多时,最大略拓展运输能力的办法便是再来一辆汽车。
如果是小型系统,负载均衡也是相称主要,最基本的需求,当你的代码须要升级时,哀求系统运行不能停滞,如果只有一个做事在跑,那就没办法了。但是如果有负载均衡,完备可以在负载比较低时,一台一台的更新。
综上所述,无论你是大神架构师,还是虾米程序员,都该当对负载均衡有些理解。
这个中,nginx实现负载均衡那是相称大略,而且高效,厉害了。
事理事理灰常大略,nginx监听一个80端口,然后将要求转发到不同做事去处理即可。
把稳此惩罚歧做事可能是一台做事器上的不同端口的web做事,也可以是不同做事器上的各个端口的web做事,都可以。
事理如此大略,实现也很随意马虎,详细说下。
搭建实践环境无非是安装一个nginx,用来监听要求,安装两个tomcat,用来测试是否实现了负载均衡。
详细安装nginx和两个tomcat的过程此处不再逐一细讲,前面的章节说的很明白了。
我们要的效果是nginx在80端口如图:
两个tomcat分别在8012和8022端口做事,把稳为了区分是哪个tomcat上的网页,我首页改了下(位置在tomcat/webapps/ROOT/index.jsp)
配置nginx负载均衡
很大略,如下,我觉得都无需阐明了:
首先nginx server监听80端口,然后将要求转发到mytomcats。
mytomcats这个upstream有两个权重一样的做事器卖力吸收要求,也便是如果有100个要求,那这老哥俩一人500个要求呗。这哥俩便是8012端口和8022端口的做事。
当然如果你想负载均衡到别的机器上,可以将127.0.0.1改成别的IP或者域名。
重新加载下nginx,命令为:nginx -s reload,然后看效果,就会创造要求同一个地址,有时候是tomcat1相应,有时候是tomcat2相应。当然不是严格的第一次tomcat1相应,第二次就tomcat2相应,毕竟咱们的要求来自同一台打算机,nginx肯定有比较繁芜的考量以提高效率,比如IP相似的机器的要求优先安排同一台做事器相应。
总结与展望
本篇简明但不算扼要的说了nginx如何实现负载均衡,当然nginx负载均衡有很多策略,单独说策略没故意思,下篇还是结合实际场景说下如何来设置详细策略。
点击查看更多内容
作者:慕课熊猫
链接:https://www.imooc.com/article/275605
来源:慕课网