与localhost上的内部反向代理进行内部ServiceFabric通信

时间:2018-12-18 08:50:46

标签: http reverse-proxy azure-service-fabric service-fabric-stateless

我有一个带有两个应用程序的ServiceFabric。从ServiceFabric外部调用On应用程序,然后向ServiceFabric内部的另一个应用程序发出HTTP get请求。

我的第一个尝试是使用ServiceFabric的反向代理IP解决第二个应用程序,与使用以下解决方案处理第一个应用程序相同:

  

http://10.0.0.1:19081/App2/App2.Service/

这导致ServiceFabric内部的通信不可靠,第一个请求始终失败,而第二个请求成功。

然后我在https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reverseproxy上了解了内部ServiceFabric通信。现在,我使用本地主机解决了第二个应用程序,它似乎按预期工作:

  

http://localhost:19081/App2/App2.Service/

唯一的开放性问题是:因为本地应用程序也在同一节点上运行,所以使用localhost寻址ServiceFabric内部的应用程序是否只能工作?还是因为存在真正的反向代理行为,并且即使应用程序不在同一节点上运行,请求仍能得到响应?

1 个答案:

答案 0 :(得分:1)

https://docs.jboss.org/hibernate/orm/5.3/javadocs/org/hibernate/LobHelper.html,因此可以随时在localhost上访问它。它将您的呼叫转接到第二个服务,该服务将自动解决。

您还可以使用内置的reverse proxy runs on all nodes服务来解析内部服务。这样,您可以节省反向代理的一些开销。 与使用IP地址相反,您不需要知道服务是在localhost还是在其他节点上运行。另外,如果您的服务在运行时移动,也不会遇到麻烦。