• Nginx 负载均衡


    192.168.0.107 -> 127.0.0.1:8080 || 127.0.0.1:8081

    轮询(默认),每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    
        upstream myserver {
            server 127.0.0.1:8080;
            server 127.0.0.1:8081;
        }
    
        server {
            listen       80;
            server_name  192.168.0.107;
    		
    	location / {
    	    proxy_pass   http://myserver;
            }
        }
    }

    weight 权重,重默认为 1,权重越高被分配的客户端越多

    upstream myserver {
        server 127.0.0.1:8080 weight=1;
        server 127.0.0.1:8081 weight=2;
    }

    ip_hash,每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题。

    upstream myserver {
        ip_hash;
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }

    fair(第三方),按后端服务器的响应时间来分配请求,响应时间短的优先分配。

    upstream myserver {
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
        fair;
    }

    url_hash(第三方),按访问 url 的 hash 结果来分配请求,使每一个 url 定向到同一个后端服务器。后端服务器为缓存时比较有效。注意:在 upstream 中加入 hash 语句。server 语句中不能写入 weight 等其他的參数,hash_method 是使用的 hash 算法。

    upstream myserver {
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
        hash $request_uri; 
        hash_method crc32; 
    }

    https://nginx.org/en/docs/http/load_balancing.html

  • 相关阅读:
    201141 live the lie until the lie becomes your life
    my php & mysql FAQ
    suger日料财务
    python 应用thrift thrift的监控fb303
    cherryPy学习
    my linux FAQ
    Javascript无阻塞加载方法
    设计模式学习笔记之组合模式模式
    【转】cookie
    C# 多线程
  • 原文地址:https://www.cnblogs.com/jhxxb/p/13392041.html
Copyright © 2020-2023  润新知