美文网首页
部署-->Nginx负载均衡

部署-->Nginx负载均衡

作者: fe3e18c7aab5 | 来源:发表于2019-06-02 20:31 被阅读0次

    在nginx中的负载均衡主要有两种:四层负载(IP:Port)、七层负载(http://xxx)

    nginx upstream模块

    upstream backend {
    server backend1.example.com weight=5;
    server backend2.example.com:8080;
    server unix:/tmp/backend3;
    }
    server {
    location / {
    proxy_pass http://backend;
    }
    }
    

    1. 属性解释

    • upstream: 主要是定义一个后端服务地址的集合列表,每个后端服务使用一个server命令表示
    • upstream {} 和 Server {} 两部分内容属于平级关系

    2. 后端常用状态
    在upstream模块中,可以使用server命令指定后端服务器的地址,同时还可以设置后端服务器在负载均衡调度中的状态,常用的状态有以下几种:

    • down: 逻辑宕机,表示当前server主机暂时不参与负载均衡
    • backup:后备主机,当所有非backup机器出现故障或者繁忙的时候,才会请求backup机器
    • max_fails:允许请求的最大失败数,默认为1,配合fail_timeout一起使用
    • fail_timeout:经历max_fails次失败后,暂停服务的时间,默认为10s

    负载均衡调度算法:

    1. 内置策略

    • 雨露均沾型:轮训、加权轮训、哈希
    • 定向服务型:ip_hash、least_conn、cookie、route、lean、
    • 商业类型:ntlm、least_time、queue、stick

    2. 扩展策略

    • 扩展策略:各种结合业务场景自定义的算法或者第三方算法
      • 第三方算法:fair、url_hash

    常用算法简介

    • 轮询(默认):请求按顺序逐一分配到不同的后端服务器
    • weight:指定轮询权重,值越大,分配到的几率就越高,适用于后端服务器性能不均衡情况
    • ip_hash:按访问 IP 的哈希结果分配请求,分配后访客访问固定后端服务器,有效的解决动态网页会话共享问题
    • fair:基于后端服务器的响应时间来分配请求,响应时间短的优先分配
    • url_hash:按访问 URL 的哈希结果分配请求,使同 URL 定向到同一台后端服务器,可提高后端缓存服务器的效率

    相关文章

      网友评论

          本文标题:部署-->Nginx负载均衡

          本文链接:https://www.haomeiwen.com/subject/kckfxctx.html