Nginx 负载均衡服务失败场景

nginx可以配置负载均衡,我们可以通过配置实现nginx负载均衡。这里部署了两个服务producter-one和producter-one2。

    upstream proxyproducter-one {
        server producter-one:8080 weight=1;
        server producter-one2:8080 weight=1;
  }
    # 访问其他服务
    server {
        listen       9090;
        server_name  localhost; 
 
        charset utf-8;
        access_log  /etc/nginx/logs/localhost9090.access.log  access;
 
        # 路由
        location /nginxproducterone {
            proxy_pass  http://proxyproducter-one/;
        }
    }

1.启动nginx之前

如果在启动nginx之前,如果其中一个服务宕机正常情况下,nginx是不能启动的启动会报错。

2.正常启动之后

正常启动之后nginx会按照配置的策略进行执行,这里我使用的负载均衡轮询策略。

Nginx 负载均衡服务失败场景_第1张图片

Nginx 负载均衡服务失败场景_第2张图片

3.宕机其中一个服务

如果我们宕机其一个服务,

a.第一次请求,如果请求刚好能访问到没有宕机的服务,则是正常相应。

Nginx 负载均衡服务失败场景_第3张图片

b.第一次请求,如果请求访问到宕机的服务,请求最终还是会指定正常的服务但是请求时间非常长 。

Nginx 负载均衡服务失败场景_第4张图片

 c.如果宕机一直存在,则nginx会将权重比例偏向正常的服务。

Nginx 负载均衡服务失败场景_第5张图片

当我们继续访问,则会出现请求时间长的正常请求(怀疑nginx会把权重偏向正常的服务,但是也会不定期的指向宕机的服务,当访问宕机服务失败后再去访问正常的服务)。

Nginx 负载均衡服务失败场景_第6张图片

 d.宕机的服务恢复正常,ngin会自动将负载均衡策略恢复到配置的状态

Nginx 负载均衡服务失败场景_第7张图片

Nginx 负载均衡服务失败场景_第8张图片 

 

 

 

你可能感兴趣的:(Nginx,nginx,负载均衡,运维)