背景:随着访问量的增加和并发的提高,服务器的压力会越来越大,此时需要部署多台服务器来分摊压力(分布式部署),

服务分摊开来,是数据前段分布服务,即在服务层之前的分布负载,此时需要一个工具将所有分布式服务器和访问进行条件负载连接;

 

负载模型(简单):

         |------------------>tomcat1       |

         |------------------>tomcat2       |

nginx|------------------>tomcat3       | ------------------------->服务层------->数据层

         |------------------>tomcat4       |

         |------------------>tomcat......   |

 

上面是基本的模型,这个nginx负载需要简单的配置一下nginx,即在conf文件夹下编辑nginx.conf文件:

\"\"

 

\"\"

 

多个tomcat配置在upstream 下面

配置完毕,浏览器输入:localhost即可访问配置负载的两台tomcat服务器

注:nginx负载均衡有多种负载策略:

1:轮询

每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询

2:权重

通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。

3:ip_哈希算法

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。

 

upstream localtomcat{
      server 192.168.1.104:40 down;
      server 192.168.1.104:50 weight=4;

      server 192.168.1.104:60;

      server 192.168.1.104:70 backup;
    }

1)down

    表示单前的server暂时不参与负载

2)Weight

    默认为1.weight越大,负载的权重就越大。

3)max_fails

    允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

4)fail_timeout

    max_fails 次失败后,暂停的时间。

5)Backup

    其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

收藏 打印