• Nginx负载均衡


    前面我们说了反向代理,例子中用的是,两个请求请求同一个ip地址和端口,然后Nginx来根据域名调用不同的tomcat来进行请求处理及响应。

    反向代理主要说的是:不同的请求 请求同一个Nginx服务器,Nginx服务器来决定由那个真正的业务服务器(eg:tomcat)处理某个请求。

    下面说负载均衡

    负载均衡一般是指,针对同一个(域名的)请求发送很多次,同时当后台有多个具有相同代码的真正的业务服务器工作时,由Nginx来将多次(或同时多个)的相同请求均匀的转发给待命的多个业务服务器,用以减轻单台服务器的压力,合理利用资源,提高响应速度。

    比如我们一个应用的访问量特别大,一台服务器已经很吃力了,那么就要增加服务器来提供相同的服务,这时一般就需要Nginx来做负载均衡。

    负载均衡的Nginx配置和反向代理基本一致,不同点在于:我们可以在 同一个 upstream tomcatserver { } 中添加多个tomcat,

    eg:

    这个就是最简单的负载均衡配置,当多次请求来时,Nginx默认会轮询调用两个tomcat来响应,即第一次请求由tomcat1响应,第二次就由tomcat2来响应,这样就把请求均匀的分散开了。

    reload配置文件,发送请求测试:

    我们看到,每次刷新请求,都会有不同的服务器来响应。

    上面只是最简单的分配 方式,它几乎是将请求平均分配的,但是如果我们配置的两台服务器性能不一样,我们希望性能好的多提供一些服务,那么就要进行下面的配置了:

    配置权重

    权重默认是1,比如我们觉得8080的服务器性能好一些,给其增加权重配置 weight=3,另一个权重不配置(默认为1),那么就是说大概 有4次请求进来,3次会分配给8080,1次给8081

     

    重新加载Nginx配置文件,我们再用浏览器访问,会发现,大多数情况都是由8080来提供服务。

    注意:weigh权重值越高,处理请求的机会就越多。

    其他权重配置的参数文档:

    说明:

    配置为down的请求不会转发给它。

    配置为backup的,只有当其他所有正常服务器都挂了时才会将请求转发给它。

  • 相关阅读:
    Spring 学习笔记(4)依赖注入 DI
    05Spring之AOP
    01Spring核心概念
    06Spring之循环依赖
    04Spring之依赖注入
    09Spring 设计模式总结
    08Spring之事务
    01Servlet 回顾
    03Spring之Bean生命周期
    02Spring启动过程
  • 原文地址:https://www.cnblogs.com/libin6505/p/9936447.html
Copyright © 2020-2023  润新知