• Nginx配置实例-负载均衡


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

    nginx分配服务器策略:

    第一种轮询(默认)
    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down掉,能自动剔除。
    第二种  weight
    weight代表权重默认为1,权重越高被分配的客户端越多。
    第三种  ip_hash
    每个请求按访问 ip的hash结果分配,这样每个访客固定访问一个后端服务器。
    第四种 fair(第三方)
    按后端服务器的响应时间来分配请求,响应时间短的优先分配。

    实现案例:

    1、实现效果

    浏览器地址栏输入地址
    http://192.168.200.130/test
    /a.html
    自动请求8080和8081两台服务器的a.html页面


    2、准备工作

    (1)准备两台 tomcat服务器,一台端口为8080,一台端口为8081。
    (2)在两台tomcat里面的webapps目录中,创建名称是test文件夹,在test文件夹中创建
    页面 a.html,用于测试。

     
    3、在 nginx的配置文件中进行负载均衡的配置,修改配置文件nginx.conf

    修改完配置后,重启nginx。

    在浏览器中输入http://192.168.200.130/test/a.html ,多次刷新,便可以看到每次请求的是不同的Tomcat服务器:

     这个效果就是nginx实现的负载均衡,将请求转发到不同的服务器处理。

    4、切换不同访问策略

    使用权重策略,修改weight的值,将请求根据权重分配到不同的服务器上。

    修改完配置后,重启nginx。

    刷新浏览器,可以看到,服务器1连续被访问两次,服务器2只会被访问一次。

    使用ip_hash策略,该策略代表一个IP地址的请求都会转发到一台服务器上处理。

    具体配置如下:

    修改完配置后,重启nginx。

    刷新浏览器,可以看到,所有的请求都被服务器2处理。

    这样每个访客固定访问一个后端服务器,可以解决 session的问题。

    使用fair策略,按后端服务器的响应时间来分配请求,响应时间短的优先分配。

    这种方式需要单独安装fair相关的模块,因为fair不是nginx自带的。

  • 相关阅读:
    感恩节跟进技巧(附邮件模板)
    pytorch代码实现之CoordConv卷积
    【已解决】Git下载私有仓库时报错Authentication failed
    AD——PCB布线实用技巧
    聊一聊异构系统间数据一致性
    MATLAB | App Designer·我用MATLAB制作了一款LATEX公式实时编辑器
    【网络】网络编程套接字(一)
    测试端口开通的几种方法
    高手过招,精彩纷呈:PostgreSQL数据库人才与业务生态应用论坛圆满落幕
    gcc编译器和gdb调试工具
  • 原文地址:https://blog.csdn.net/liangmengbk/article/details/128175518