You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by GitBox <gi...@apache.org> on 2020/01/02 03:19:17 UTC

[GitHub] [incubator-apisix] jiezaizone commented on issue #977: request help: 关于负载均衡健康检查配置问题

jiezaizone commented on issue #977: request help: 关于负载均衡健康检查配置问题
URL: https://github.com/apache/incubator-apisix/issues/977#issuecomment-570109880
 
 
   > Hi @jiezaizone
   > 
   > 我简单测试了retries参数和主动&被动健康检查配置遇到502的情况:
   > 
   > #### 1. 未配置retries参数
   > ##### 1.1 仅配置主动健康检查
   > 结论:upstream中指定了多个node时,当其中一个node不可访问并不会将请求转发至其他node,所以有可能碰到502情况(健康检查并没有发现node状态是不健康的)
   > 
   > ##### 1.2 仅配置被动健康检查
   > 结论:upstream中指定了多个node时,当其中一个node不可访问并不会将请求转发至其他node,一定会碰到502情况(因为没有配置retries所以这里的被动健康检查并没有生效等同于1.4)
   > 
   > ##### 1.3 同时配置主动健康检查和被动健康检查
   > 结论:upstream中指定了多个node时,当其中一个node不可访问并不会将请求转发至其他node,所以有可能碰到502情况(同1.1)
   > 
   > ##### 1.4 未配置任何健康检查
   > 结论:upstream中指定了多个node时,当其中一个node不可访问并不会将请求转发至其他node,一定会碰到502情况
   > 
   > #### 2. 配置了retries参数
   > ##### 2.1 仅配置主动健康检查
   > 结论:upstream中指定了多个node时,当其中一个node不可访问会将请求转发至健康的node上,可以认为不会502情况,与retries配置次数有关(遇到502的情况:假设尝试次数是1,当配置刚生效第一次访问碰到不健康node,再次尝试如果再碰到不健康node此时会返回502,因为在此时并没有健康node)
   > 
   > ##### 2.2 仅配置被动健康检查
   > 结论:upstream中指定了多个node时,当其中一个node不可访问会将请求转发至健康的node上,可以认为不会502情况,与retries配置次数有关(遇到502的情况:假设尝试次数是1,当配置刚生效第一次访问碰到不健康node,再次尝试如果再碰到不健康node此时会返回502,因为在此时并没有健康node)
   > 
   > ##### 2.3 同时配置主动健康检查和被动健康检查
   > 结论:同2.1和2.2
   > 
   > ##### 2.4 未配置任何健康检查
   > 结论:upstream中指定了多个node时,会根据retries参数指定值执行重试操作,所以有可能碰到502情况
   > 
   > **NOTE**: 主动健康检查会周期检查node健康状态,如果node状态从不健康变为健康会再次被加入到转发列表中;而被动健康检查(2.2)并不会将从不健康状态变为健康状态的node加入到转发列表。
   > 
   > @moonming reries参数建议还是配置一个合理的默认值,我先想想如何配置reries参数
   
   👍

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services