从不健康的(503ing)实例路由请求?
Routing requests away from an unhealthy (503ing) instance?
我们使用 Azure App Service 在多个(横向扩展)Premium Dv2 实例上托管了一个 Web 应用程序。
有时我们的应用程序在重启后无法启动。这将导致对该实例的请求做出 503 Service Unavailable
响应。但是当这种情况发生时,请求仍然会在这个实例和健康实例之间平均路由。
负载均衡器不应该将请求路由到远离此实例的地方吗?这能实现吗?
注意:我们没有使用 API 管理或应用服务环境。
Shouldn't the load-balancer rather route requests away from this instance?
Azure 负载均衡器可以探测各种服务器实例的运行状况。当探测未能响应时,负载均衡器会停止向不健康的实例发送新连接。
据我所知,在出现 503 错误之前,它仍会路由到该实例。
But when this happens, requests still get routed evenly between this instance and the healthy instances.
我发现以下可能的场景,当实例不健康时,您仍然会被路由。
1.The 在 SuccessFailCount 中设置的超时和频率值决定实例是否被确认为 运行 或不 运行。在 Azure 门户中,超时设置为频率值的两倍。
2.The HTTP 服务器在超时期限后根本没有响应。根据设置的超时值,多个探测请求可能在探测被标记为未被标记之前未得到答复 运行。
3.If 您有使用 w3wp.exe 的网络角色,您还可以自动监控您的网站。您的网站代码失败 return 负载均衡器的非 200 状态 probe.Consequently,负载均衡器不会停止轮换该实例。
4.The TCP 服务器在超时期限后根本没有响应。何时将探测标记为非 运行 取决于在将探测标记为非 运行 之前配置为未得到答复的失败探测请求的数量。
更多细节,你可以参考这个article。
我们使用 Azure App Service 在多个(横向扩展)Premium Dv2 实例上托管了一个 Web 应用程序。
有时我们的应用程序在重启后无法启动。这将导致对该实例的请求做出 503 Service Unavailable
响应。但是当这种情况发生时,请求仍然会在这个实例和健康实例之间平均路由。
负载均衡器不应该将请求路由到远离此实例的地方吗?这能实现吗?
注意:我们没有使用 API 管理或应用服务环境。
Shouldn't the load-balancer rather route requests away from this instance?
Azure 负载均衡器可以探测各种服务器实例的运行状况。当探测未能响应时,负载均衡器会停止向不健康的实例发送新连接。
据我所知,在出现 503 错误之前,它仍会路由到该实例。
But when this happens, requests still get routed evenly between this instance and the healthy instances.
我发现以下可能的场景,当实例不健康时,您仍然会被路由。
1.The 在 SuccessFailCount 中设置的超时和频率值决定实例是否被确认为 运行 或不 运行。在 Azure 门户中,超时设置为频率值的两倍。
2.The HTTP 服务器在超时期限后根本没有响应。根据设置的超时值,多个探测请求可能在探测被标记为未被标记之前未得到答复 运行。
3.If 您有使用 w3wp.exe 的网络角色,您还可以自动监控您的网站。您的网站代码失败 return 负载均衡器的非 200 状态 probe.Consequently,负载均衡器不会停止轮换该实例。
4.The TCP 服务器在超时期限后根本没有响应。何时将探测标记为非 运行 取决于在将探测标记为非 运行 之前配置为未得到答复的失败探测请求的数量。
更多细节,你可以参考这个article。