请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

backup 可以继续处理504 502的请求么

如老师在这个问题下给的回答(http://coding.imooc.com/learn/questiondetail/69956.html),如下的配置是否可以实现 故障自动转移;

upstream demo-test-api {

    server 1.1.1.1:8081;#线上应用

    server 1.1.0.1:8081 backup;#线上备用实例

}


location /api {

  # 我理解 500 和404 应该是应用本身的问题,转到另一台实例上应用没有什么用

  #proxy_next_upstream http_500 | http_502 | http_503 | http_504 |http_404;

  proxy_next_ http_502 |http_503| http_504;

  proxy_pass http://demo-test-api;

}

还有两个问题想明确一下:

  1. 如上面的配置, backup 启用的条件是什么(线上实例没有配置任何fail条件,它的默认行为是)

  2. 504 502 都是 nginx返回给客户端的状态码,proxy_next_upstream 启到的作用是 客户端再将请求发到backup的实例上,还是nginx自己将 即将发送给客户504 502的请求 发送给backup,然后backup实例再发送响应给客户端  (不知道描述的是否清楚,我想表达的是proxy_next_upstream
    是一个重定向的行为 还是内部转的行为)

正在回答

1回答

你好,你的问题解答如下:

1、如上面的配置, backup 启用的条件是什么(线上实例没有配置任何fail条件,它的默认行为是)

解答:

backup选项的作用是设置集群的备用节点,当集群中有服务节点正常服务时候,backup节点是不工作的,只有当集群中服务节点都不能正常服务的时候,这个时候backup节点才启用。

2、504 502 都是 nginx返回给客户端的状态码,proxy_next_upstream 启到的作用是 客户端再将请求发到backup的实例上,还是nginx自己将 即将发送给客户504 502的请求 发送给backup,然后backup实例再发送响应给客户端  (不知道描述的是否清楚,我想表达的是proxy_next_upstream是一个重定向的行为 还是内部转的行为)

解答:

proxy_next_upsteam是一个内部转发的行为,当有节点有指定的故障时候,会讲请求重新转送到下一个正常服务的节点。

0 回复 有任何疑惑可以回复我~
  • 提问者 目科将 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-07-25 23:13:50
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信