丢失节点时,反向代理的服务结构错误

时间:2018-08-08 16:59:43

标签: reverse-proxy azure-service-fabric

我们在负载均衡器后面有一个Azure Service Fabric实例。群集中的服务通过反向代理调出到群集中的外部服务或其他服务。反向代理工作良好,并将请求发送到可用节点。一切都很好。

如果我们升级服务或通过Powershell正常重启进程或节点,那么一切也都很好。

但是,如果我只是重新启动了规模设置中的VM,那么一切都将变得一团糟。

我认为正在发生的事情是,负载均衡器正确地感知到机器已关闭并停止了对该节点的请求。但是,尽管在SF Explorer中清楚地显示了反向代理,但反向代理并不能理解该节点不可用,并且仍向死服务器发送一些请求。

这应该如何工作?有没有其他人有这种经验?关于我们的问题和解决方案有什么建议吗?

R。

1 个答案:

答案 0 :(得分:1)

您可以在这里查看RP的源代码:

https://github.com/Microsoft/service-fabric-reverse-proxy

此问题表明ASF-RP不支持健康状况探测,因此可能会路由到不健康的服务。

https://github.com/Azure/service-fabric-issues/issues/607

为什么我的公司选择Traefik(部署为Guest Executable)有很多原因。它具有对运行状况探测器的支持以及许多其他功能-例如标头交换路由等。ASFOOTB代理非常适合快速启动和运行,当您遇到更高级的情况时,它就会崩溃。

https://github.com/jjcollinge/traefik-on-service-fabric