在 Service Fabric 中托管多个网站
Hosting multiple websites in Service Fabric
在 Azure 中开箱即用,Service Fabric 模板将为您的集群创建一个负载均衡器。我将其设置为将请求从端口 80/443 转发到运行良好的网络 API 后端端口。
我现在想在集群中托管另一个 Web 应用程序,但我不确定该怎么做,因为端口 80 已经与转发到另一个应用程序捆绑在一起,而且没有办法像在 IIS 中一样基于主机名转发。我是否可以添加一个单独的负载均衡器,该负载均衡器具有指向同一 VM 规模集的不同 IP?
示例:
api.mydomain.com:80 -> Stateless web api //Current
web2.mydomain.com:80 -> another stateless web site //Proposed new one
我觉得很有可能 运行 有一个 LB。通常您需要创建第二个 Public IP 地址,然后将其添加到您的 LB 中的前端 IP 配置中。最后,创建另一个负载平衡规则,将新请求路由到另一个网站 运行 所在的端口。
顺便说一下,这里有一篇描述这个想法的文章 - Load balancing on multiple IP configurations using the Azure portal。虽然谈不上VMSS,但至少说明了概念。
另一种方法是使用 Azure Application Gateway and use host based routing。我们已在具有 4 public 个端点的集群上成功完成此操作。效果很好!与标准 Azure 负载均衡器相比,最大的区别在于网关允许您在节点上进行自定义健康检查,因此在升级过程中出现的问题较少(请求无响应)。
我们在内部负载平衡器前面有一个 Azure 防火墙。在 Service Fabric 本身,我们是 运行 一个反向代理 (traefik),用于将正确的主机名路由到 Service Fabric 集群上的正确容器/端口。
在 Azure 中开箱即用,Service Fabric 模板将为您的集群创建一个负载均衡器。我将其设置为将请求从端口 80/443 转发到运行良好的网络 API 后端端口。
我现在想在集群中托管另一个 Web 应用程序,但我不确定该怎么做,因为端口 80 已经与转发到另一个应用程序捆绑在一起,而且没有办法像在 IIS 中一样基于主机名转发。我是否可以添加一个单独的负载均衡器,该负载均衡器具有指向同一 VM 规模集的不同 IP?
示例:
api.mydomain.com:80 -> Stateless web api //Current
web2.mydomain.com:80 -> another stateless web site //Proposed new one
我觉得很有可能 运行 有一个 LB。通常您需要创建第二个 Public IP 地址,然后将其添加到您的 LB 中的前端 IP 配置中。最后,创建另一个负载平衡规则,将新请求路由到另一个网站 运行 所在的端口。
顺便说一下,这里有一篇描述这个想法的文章 - Load balancing on multiple IP configurations using the Azure portal。虽然谈不上VMSS,但至少说明了概念。
另一种方法是使用 Azure Application Gateway and use host based routing。我们已在具有 4 public 个端点的集群上成功完成此操作。效果很好!与标准 Azure 负载均衡器相比,最大的区别在于网关允许您在节点上进行自定义健康检查,因此在升级过程中出现的问题较少(请求无响应)。
我们在内部负载平衡器前面有一个 Azure 防火墙。在 Service Fabric 本身,我们是 运行 一个反向代理 (traefik),用于将正确的主机名路由到 Service Fabric 集群上的正确容器/端口。