美文网首页
ngx_http_upstream_module和ngx_ups

ngx_http_upstream_module和ngx_ups

作者: li_zw | 来源:发表于2018-07-02 14:09 被阅读0次

    简介

    ngx_http_upstream_module用于配置文件中的http上下文中,用于定义可由proxypass、fastcgipass、uwsgipass、scgipass和memcachedpass指令引用的服务器组。
    ngx_upstream_module模拟反代基于tcp或udp的服务连接,即工作于传输层的反代或调度器;
    1、upstream name { ... }
    定义后端服务器组,会引入一个新的上下文;Context: http

                upstream httpdsrvs {
                    server ...
                    server...
                    ...
                }
    

    2、server address [parameters];
    在upstream上下文中server成员,以及相关的参数;Context: upstream

    address的表示格式:
    unix:/PATH/TO/SOME_SOCK_FILE
    IP[:PORT]
    HOSTNAME[:PORT]
        parameters:
            weight=number  # 权重,默认为1;
            max_fails=number    #失败尝试最大次数;超出此处指定的次数时,server将被标记为不可用;
            fail_timeout=time   #设置将服务器标记为不可用状态的超时时长;
            max_conns   #当前的服务器的最大并发连接数;
            backup  #将服务器标记为“备用”,即所有服务器均不可用时此服务器才启用;
            down    #标记为“不可用”;
    
    
    

    3、least_conn;
    最少连接调度算法,当server拥有不同的权重时其为wlc;
    4、 ip_hash;
    源地址hash调度方法;
    5、hash key [consistent];
    基于指定的key的hash表来实现对请求的调度,此处的key可以直接文本、变量或二者的组合;
    作用:将请求分类,同一类请求将发往同一个upstream server;
    If the consistent parameter is specified the ketama consistent hashing method will be used instead.

    示例:
    hash $request_uri consistent;
    hash $remote_addr;
    

    6、keepalive connections;
    为每个worker进程保留的空闲的长连接数量;

    ngx_stream_core_module模块
    模拟反代基于tcp或udp的服务连接,即工作于传输层的反代或调度器;

    1、stream { ... }
                定义stream相关的服务;Context:main
                
                stream {
                    upstream sshsrvs {
                        server 192.168.22.2:22; 
                        server 192.168.22.3:22; 
                        least_conn;
                    }
    
                    server {
                        listen 10.1.0.6:22022;
                        proxy_pass sshsrvs;
                    }
                }   
                
            2、listen
                listen address:port [ssl] [udp] [proxy_protocol] [backlog=number] [bind] [ipv6only=on|off] [reuseport] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]];
    

    相关文章

      网友评论

          本文标题:ngx_http_upstream_module和ngx_ups

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