• nginx 负载均衡


      upstream myServer{

        server 192.168.1.100:8080;

        server 192.168.1.101:8080; 

        server 192.168.1.102:8080 down;

        server 192.168.1.103:8080 weight=5;

        server 192.168.1.104:8080 backup; 

        server 192.168.1.105:8080 weight=2 max_fails=2 fail_timeout=30s;

      }

      需要使用的节点添加

      proxy_pass http://myServer;

    一、nginx支持的分配方式

      1、轮询(默认) 
          每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
      2、weight 
          指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
      3、ip_hash 
          每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。  
      4、fair(第三方) 
          按后端服务器的响应时间来分配请求,响应时间短的优先分配。  
      5、url_hash(第三方)

    二、参数说明

      down:  表示暂时不参与负载

      weight:  表示权重,权值越大越大机率被访问

      backup:  其它非backup机器down或者忙的时候请求backup机器

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

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

    三、负载均衡session共享

      1、不使用session,换作cookie

      2、ip_hash,可以实现同一个ip请求定向到同一个后端

      upstream myServer{

        server 192.168.1.100:8008;

        server 192.168.1.103:8080;

        ip_hash;

      }

      备注:nginx服务器是最前端服务器。nginx后端不能有其它负载均衡

      3、upstream_hash

        可见这篇文档:http://www.sudone.com/nginx/nginx_url_hash.html

      

        

  • 相关阅读:
    java做微信支付notify_url异步通知服务端的写法
    QT如何编译出带调试信息的qtwebkit库
    Vmware 占用宿主机硬盘空间只增不减
    vmware linux无法正常上网
    Linux中find常见用法示例
    计算机网络OSI参考模型与tcp/ip四层模型
    Core开发-后台任务利器Hangfire使用
    Azure构建PredictionIO和Spark的推荐引擎服务
    NET MVC+EF6+Bootstrap
    服务器
  • 原文地址:https://www.cnblogs.com/jianxie/p/3991285.html
Copyright © 2020-2023  润新知