Web Farm 应用程序部署最佳实践

Web Farm 应用程序部署最佳实践

我们有一个托管多个 ASP.Net 应用程序的 Web 场。我们通常在该场中有 4 台服务器。

我所面临的困境是服务器场的容量问题。假设我目前总共有 200 个应用程序。我应该将所有 200 个应用程序部署在所有 4 台服务器上(即服务器场中的所有服务器都是相同的)还是应该将应用程序拆分到 2 组服务器之间并创建 2 个较小的服务器场,以便我可以根据应用程序的关键性和使用情况等来管理应用程序。

我们将非常感谢该领域的任何最佳实践。

谢谢

劳茨

答案1

好问题。这不是最佳实践,因为它实际上取决于您的应用程序。需要考虑的一件事是,您经常会有 RAM 缓存开销,因此在 4 台服务器上建立网站可能会将内存缓存复制 4 次。因此,如果不需要在所有 4 个节点上都使用它,只需将其放在 2 个节点上即可实现冗余。

此外,如果您有问题的站点 CPU、RAM 或磁盘 IO 不可预测,您可能希望将其隔离到自己的迷你农场。这没有对错之分。

在某些情况下,我喜欢创建一个包含多个站点的完整配置的 Webfarm,但每个节点上只有部分站点处于活动状态。通过您的示例,您可以将所有 200 个应用程序放在所有 4 台服务器上,使配置与共享配置保持同步。然后使用您的负载平衡器(我建议使用 ARR),让每个应用程序一次在 1 或 2 个节点上处于活动状态。这样可以降低总内存需求,同时让您可以灵活地随意添加和删除节点,或者在短时间内在更多节点上启动站点。您甚至可以将第 4 个节点保留为问题站点的选项。

磁盘空间是另一个考虑因素。如果您使用本地磁盘来存储内容,则需要处理所有 4 台服务器上所有 200 个应用的内容。

无论做什么,都要深思熟虑,并确保它是可控的。

相关内容