• nginx静态负载均衡与反向代理


    服务的进化史:单机->集群->分布式集群

    针对服务集群,分布式服务,我们通过负载均衡和反向代理来保证我们服务的高可用,高性能等特点

    负载均衡:

      DNS(将一个域名绑定多个ip) 负载均衡,一般由运营商进行管理,可根据ip分配就近服务器,提高响应速度

      LVS 软件负载均衡,F5 硬件负载均衡(价格贵),一般交由系统运维工程师维护

      Nginx 服务负载均衡,反向代理

      客户端负载均衡:ribbon,feign,配合服务注册发现来实现,这样可以省去nginx等中间一层代理,提高响应速度。

    作为一般软件开发人员,我们只需关注nginx即可,当然除了nginx还有其他可选。

    对于nginx负载均衡我们需要关心几个方面:

      服务器配置 : http - upstream 

      负载均衡算法 :轮询,加权轮询,ip_hash,fair,url_hash

      失败重试机制

      服务器心跳检测

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

    nginx负载均衡器调度状态:

    1、down,表示当前的server暂时不参与负载均衡

    2、backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的访问压力最低

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

    4、fail_timeout,请求失败超时时间,在经历了max_fails次失败后,暂停服务的时间。max_fails和fail_timeout可以一起使用。

    nginx失败重试机制

    max_fails和fail_timeout:当fail_timeout时间内失败了max_fails次后,则认为上游服务不可用,将会将该服务从列表中自动剔除,但是当fail_timeout后 该服务器会再次加入到服务列表中

    反向代理:

      全局配置

      location配置:失败重试机制,请求方法,请求头配置

  • 相关阅读:
    Android四大基本组件介绍与生命周期
    论Android产品高效开发之路
    android工程目录分析
    android推送思路
    android类库
    Android实现应用下载并自动安装apk包
    自定义 Android 对话框 (AlertDialog) 的样式
    Android adb shell 命令详解
    Complexities
    Combination Sum II
  • 原文地址:https://www.cnblogs.com/hcy-fly/p/10813543.html
Copyright © 2020-2023  润新知