我很困惑,因为我没有看到任何关于如何使用 HA 和多主机部署托管 ASP.NET Core/.NET Core 应用程序的博客或说明。所有示例都是:
1) One NGINX reverse-proxy, one Kestrel
2) One IIS reverse-proxy, one Kestrel
并且两个组件都在同一主机上。在实际生产环境中,您可能有 LB 服务发现、多个前端、多个后端等。但对于这种情况,没有任何说明。所以我的问题是针对多主机环境:
非常欢迎所有答案,并在此先感谢! :)
最佳答案
我在边缘运行 NGINX 作为负载平衡器,用于 SSL 终止和多个服务器,IIS + Kestrel 为 MVC 提供服务。这对我们来说效果很好。您可能不需要它,但我发现 NGINX 比您可以使用 IIS 做的任何事情都更加复杂和强大。显然 F5 或其他东西也可以工作。以前我也使用 AWS ELB 负载均衡器运行了一段时间,它也运行良好,只是没有太多可配置性。所以取决于你的需求。
如前所述,每个运行 kestrel 的机器都需要 IIS 来管理进程。您可以通过其他方式执行此操作,但使用 IIS 是最简单的。
关于asp.net - ASP.NET Core 应用程序的多主机部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42003404/