从Internet访问Azure Service Fabric应用程序

时间:2016-11-25 16:55:14

标签: azure tcp azure-service-fabric

我想我错过了表面上的东西。 我在Azure中创建了SF集群。它有一个负载均衡器和一个有3个虚拟机(节点)的网络,其IP地址为10.0.0.0/16。

当我向应用程序端点询问负载均衡器时,它会响应节点IP地址。 (我使用WireShark捕获数据包)但我无法访问它,因为网络是私有的。

关于我的案例的更多信息:3xA0实例,net.tcp:20001端点,防火墙允许连接,打开和侦听的端口,我有分配给平衡器的公共IP地址,探测服务端口。

2 个答案:

答案 0 :(得分:1)

在您的负载均衡器上,您需要分配一个公共IP地址。您可以在documentation中找到一些非常好的详细指南。

答案 1 :(得分:0)

好的就是这样:

当您想要从群集外部与服务进行通信时 - 只需使用负载均衡器IP,您就不需要命名服务器通信。负载均衡器有probs可以检查集群中每个节点上的端口,并将您的请求转发给您正在询问服务的随机实例。

如果您想在群集中将一个微服务与另一个微服务进行通信,那么您有两个选择:

  1. 通过负载均衡器询问命名服务,然后直接与服务进行通信。
  2. 如果您确定该服务应该在群集中的每个节点上 - 您可以直接与localhost通信。
  3. 当您想要从群集的虚拟网络中的单独vm与群集中的微服务进行通信时(您可以使用vpn将WebApp连接到群集),那么您可以通过负载均衡器询问命名服务但是使用Service Fabric HTTP API,因为您无法在未安装Service Fabric SDK的VM上使用服务结构类。以下是服务解析的示例:https://github.com/lAnubisl/ServiceFabricHttpApiClient