nginx 场景业务汇总 (中)

本文链接:。。。。,如果可以,请阅读上篇 《nginx场景业务汇总(初)》

(十三)负载均衡

  • 轮询
http {
    upstream myapp1 {
        server srv1.example.com;
        server srv2.example.com;
        server srv3.example.com;
    }
 
    server {
        listen 80;
 
        location / {
            proxy_pass http://myapp1;
        }
    }
}

公平调度原则轮询,类似于rabbitMq的调度规则。依次将请求分发到srv1,srv3,srv3,。

  • 最少连接
upstream myapp1 {
        least_conn;  //最少连接
        server srv1.example.com;
        server srv2.example.com;
        server srv3.example.com;
    }

哪个服务器负载低,就分发到此服务器

  • ip_hash (会话持久性)
upstream myapp1 {
    ip_hash;    //ip_hash
    server srv1.example.com;
    server srv2.example.com;
    server srv3.example.com;
}

这是部分解决session共享问题的方法。让同个ip的访问始终分发于某个服务器上,保持会话的一致性。

  • 加权

利用权重来促使nginx多分发到某些性能高效的服务器。

upstream myapp1 {
        server srv1.example.com weight=3; 
        server srv2.example.com;
        server srv3.example.com;
    }

也就是说,如果有五个请求,有3个请求被分发到srv1,一个请求到srv2,一个请求到srv3

其他参数

 

猜你喜欢

转载自www.cnblogs.com/zhenghongxin/p/8906225.html