背景
上篇讲了负载均衡详细的实现方法,其实已经基本够用了,但是还有一些更为复杂的负载均衡策略配置,今天结合使用场景介绍下。
轮询
轮询是nginx默认的负载均衡实现方式,此时会将没给请求按时间顺序分配到对应server,如下所示:
upstream balance1{ server 47.104.61.1;#tomcat1所在地址 server 47.104.61.2;#tomcat2所在地址 }
对服务器的请求会按顺序分配到47.104.61.1和47.104.61.2。
这种方式下,如果47.104.61.1挂掉了,没事,47.104.61.2还能提供服务。这个nginx能自动检测出。所谓的双机热备,这就是很好的实现方式。所以对应的架构可为:
![233917e41ffd7f7eac48fa712df2a453.png](https://img-blog.csdnimg.cn/img_convert/233917e41ffd7f7eac48fa712df2a453.png)
权重
上面架构在一些公司就出现问题了,由于历史原因,tomcat1所在服务器性能强大,tomcat2所在服务器性能比较垃圾(内存低、带宽低、响应慢),这样tomcat1其实性能都没发挥出来,tomcat2都快要累死了。
这时候也不着急,配置下轮询权重就是了,如下所示,80%的请求由tomcat1处理,20%tomcat2处理,完美。
upstream balance1{ server 47.104.61.