Nginx 负载均衡

一、优点

  1.功能强大,支持高并发连接,实际生产环境中可到2-3万并发。

  2.成本低,软件开源,免费。

  3.工作再网络的7层,可以针对http进行分流策略。

  4.模块化,Nginx整体设计都是模块化,可以很清晰方便的采用模块。

二、实现

  以反向代理服务器的方式实现负载,主要由(ngx_http_upstream_has_module)模块实现。

三、算法

  1.轮询(默认)

    每个请求按时间顺序逐一分配到不同的后端服务器上,其中,如果服务器宕机,可以自动剔除。

  2.权重轮询

    指定轮询几率,权重和访问比率成正比,用于后端服务器性能不均衡的情况

  3.ip_hash

    每个请求按照访问ip的hash结果分配,这样可以把每个访问用户都分配到同一台服务器上。

  4.fair(第三方插件)

    按照后端服务器的响应时间来分配,响应时间短的优先分配。

  5.url_hash(第三方)

    用访问的url的hash结果进行分配。

四、配置

  

upstream  test   
{
    ip_hash;  
    server   192.168.0.203:80 weight=2 max_fails=3;
    server   192.168.0.204:8080 weight=3 max_fails=3 fail_timeout=20s;
}

  说明:

    test:集群组名,随意命名,支持多组负载均衡

    max_fails=3   允许请求失败的次数,默认是1,当超过最大次数时,则返回

    max_timeout  max_fails 次失败后暂停的时间

  然后在location里的proxy_pass 设置组名

 

posted @ 2018-05-14 22:47  别说我心狠  阅读(298)  评论(0编辑  收藏  举报