zoukankan      html  css  js  c++  java
  • Nginx Upstream模块

    upstream模块

    原文链接:http://nginx.org/en/docs/http/ngx_http_upstream_module.html
    
    upstream  定义一组Server去监听不同的端口 当然也可以监听TCP或者Unix主机Socket
    
    upstream backend {
        server backend1.example.com weight=5;
        server 127.0.0.1:8080       max_fails=3 fail_timeout=30s;
        server unix:/tmp/backend3;
    
        server backup1.example.com  backup;
    }
    
    server {
        location / {
            proxy_pass http://backend;
        }
    }
    
    

    默认情况下 请求被转发到backend服务器之后 使用权重轮训的方法 将请求转发到不同的服务器 在上面的例子中 每7个请求将被按照下面的策略被转发:5个请求会被转到到 backend1.example.com 第二个和第三个server每个都会被收到一个请求。如果在通讯过程中 如果有一台服务器发生宕机 则请求会被转发给下一台server 直到所有可工作的server都被转发过。如果所有的Server都无法响应 则 客户端会收到最后一个server的响应

    • weight=number 设置Server的权重
    • max_conns=number 限制最大同时活跃连接数 默认是0 表示没有限制
    • max_fails=number 在fail_timeout时间内 最大的失败连接次数 默认设置是1 0代表不限制
    • backup 备用服务器 当主服务器无效 则请求会被转发到备用服务器
    • down 设置Server永久不可用状态
    • resolve 定义域名解析 监测IP地址和域名之间的对应关系 在不重启Nginx服务器的时候 可以动态修改upstream的配置
    http {
        resolver 10.0.0.1;
    
        upstream u {
            zone ...;
            ...
            server example.com resolve;
        }
    }
    
    • ip_hash 基于客户端的IP地址 计算出对应的hash值 可以保证 在server有效的情况下 同一个客户端的连接 会被转发到相同的server上
    upstream backend {
        ip_hash;
    
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com down;
        server backend4.example.com;
    }
  • 相关阅读:
    刷新界面
    分页加载数据(每次10条内容)的简单计算
    Intent传输包含对象的List集合
    android定时更新文件
    java中byte数据转换为c#的byte数据
    java zip文件的解压缩(支持中文文件名)
    Redis PHP扩展安装步骤
    CentOS6.5 开机启动自动运行redis服务
    centos7.2挂载硬盘攻略
    探究:Adobe Premiere Pro CC 2018 导入SRT字幕显示不全问题
  • 原文地址:https://www.cnblogs.com/alin-qu/p/8438343.html
Copyright © 2011-2022 走看看