美文网首页Nginx
Nginx作为负载均衡

Nginx作为负载均衡

作者: 燃燃的爸爸 | 来源:发表于2019-05-28 14:10 被阅读0次

    一、分为四层负载均衡和七层负载均衡
    四层:主要tcp/ip 底层 处理速度快
    七层:http层,处理应用层 如http信息

    按照地域划分可以分为GSLB和SLB

    二、Nginx负载均衡

    upstream server


    image.png

    配置语法:
    Syntax: upstream name {...}
    Defalut:-
    Context:http
    案例:
    A作为反向代理服务器

    upstream test {
        server 192.168.12.16:8001;
        server 192.168.12.16:8002;
        server 192.168.12.16:8003;
    }
    server {
    
        listen 80;
        server_name localhost;
        location / {
        proxy_pass http://test;
    
    }
    }
    

    B作为realserver 监听3个端口
    分别为8001 8002 8003端口/opt/app/{code1,code2,code3}下面
    以8001为例,有3个首页分别在

    server {
        listen       8001;
        server_name  localhost;
    
        sendfile on;
        #charset koi8-r;
        access_log  /var/log/nginx/log/static_access.log  main;
    
        location / {
        root /opt/app/code1;
        index index.html index.htm;
    }
        error_page   500 502 503 504 404  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
    

    三、后端服务器在负载均衡调度中的状态

    down 当前的server暂时不参加负载均衡
    backup 预留的备份服务器,只有当其他都不可用的时候才会开启,当有一个服务正常之后又会是backup的状态
    max_fails 允许请求失败的次数
    fail_timeout 经过max_fails失败后,服务暂停的时间
    max_conns 限制最大的接收的连接数(在后端服务器资源不一致的情况比较合适)

    四、调度算法

    轮询 按时间顺序逐一分配到不同的后端服务器
    加权轮询 weight越大,分配到的访问几率越高
    ip_hash 每个请求访问ip的hash结果分配,这样来自同一个ip的固定访问一个后端服务器
    url_hash 按照访问的URL的hash结果来分配请求,是每个URL定向到同一个后端服务器(为了改善ip_hash,因为如果通过代理的话ip_hash获取就有问题了。)
    least_conn 最少连接数,哪个机器连接数少就分发
    hash关键数值 hash自定义的key

    相关文章

      网友评论

        本文标题:Nginx作为负载均衡

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