我们正在努力实现这一目标。 根据我的理解,我们应该将 SF 负载均衡器的外部接口(interface)放置在专用网络上,然后使用 Azure 虚拟网络对等互连连接到应用程序网关的 LB 内部接口(interface)。
这可行吗?这有什么问题吗?
最佳答案
是的,这是可行的。您可以采用多种方法 -
部署直接指向 sf 节点的应用程序网关,如下所示 - Fine Granular Microservices Load Balancing with Azure Service Fabric and Application Gateway
部署指向 SF LB 的应用程序网关
收获:
有limitations大约 您可以拥有多少个后端地址池(最多 20 个),以及每个池可以运行多少台计算机和 http 设置。因此,举例来说,如果您有数千个 SF 集群 对于托管在不同端口的服务,请考虑使用 SF LB 和 SF 反向代理。
Azure 应用程序网关需要其子网。创建虚拟网络时,请确保留出足够的地址空间以拥有多个子网。部署应用程序后 子网的网关,只能将其他应用程序网关添加到子网。
在深入研究您的问题时,我发现应用程序网关在某些情况下可能无法与 Websocket 很好地配合。查看 Communication through Azure Application Gateway blocked for WebSocket traffic了解详情。
附注
如果您的 SF LB 是公共(public)的,则不需要 VNET 对等互连。对于安装到同一 VNET 中的私有(private) SF LB 和应用程序网关,同样适用。
关于azure - 在应用程序网关后面配置 Service Fabric,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47704994/