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

我们有一个networking农场,承载多个ASP.Net应用程序。 我们通常在农场有4台服务器。

我所面临的困境就是农场的能力问题。 假设我目前共有200个应用程序。 我是否应该在所有4个服务器上部署所有200个应用程序(即,服务器场中的所有服务器都是相同的),还是应该在2台服务器之间分割应用程序,并创build2个较小的服务器场,以便我可以根据其关键程度pipe理应用程序,用法等

任何在这方面的最佳做法将受到高度赞赏。

谢谢

Rauts

好问题。 这不是最好的做法,因为它确实取决于您的应用程序。 有一点要考虑的是,你经常有RAM高速caching的开销,所以要在4台服务器上有一个站点可能会复制4次内存中的高速caching。 所以如果在所有4个节点上都不需要,就把它放在冗余2上。

另外,如果问题站点具有不可预知的CPU或RAM或磁盘IO,则可能需要将其隔离到自己的小型服务器场。 这是没有对错的。

在某些情况下,我喜欢做的是创build一个网站,该网站拥有多个站点的整个configuration,但每个节点只有一些活动。 举个例子,你可以把所有200个应用程序放在所有4台服务器上,保持configuration与共享configuration同步。 然后使用您的负载均衡器(我可以build议ARR),让每个应用程序一次在1或2个节点上活动。 这样可以使总内存需求降低,同时可以灵活地随意取出节点,或者在短时间内在更多节点上旋转网站。 您甚至可以将第4个节点作为问题站点的选项。

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

无论你做什么,都要仔细考虑,确保它是可pipe理的。