IIS 暂存和生产互换

IIS Staging and Production swap

我正在研究一种在我们的 IIS 服务器上集成暂存环境的方法,这样可以在将应用程序与生产环境交换之前对其进行预热。

我能找到的唯一真正的解决方案是:

  1. 交换目录设置

    • 这对我来说听起来像是一个缓慢的过程,因为 IIS 必须在交换后编译和预热新目录。 (我的假设是否正确?)
  2. 有两个站点,并在暂存预热后交换绑定。

  3. 有一个负载平衡器,并在两个站点之间交换。这似乎有点矫枉过正,因为两个网站都在同一台服务器上。

前两个场景看起来很老套,而且容易出错。

显然我一定遗漏了什么。所以我求助于各位专家!

Ps。我们使用 Windows Server 2012,IIS v8.0

选项 1 和 2 将导致 iis 应用程序池回收。根据您 运行 的业务类型、您处理会话的方式等,这可能是也可能不是什么大问题

选项 3 似乎是更优雅的选项,如果您想要横向扩展和添加额外的机器,它会为您提供一些灵活性。而且它最容易向已经熟悉该模式的未来开发人员解释。

http://martinfowler.com/bliki/BlueGreenDeployment.html

但是,它确实需要您通过 Powershell 或您正在使用的任何集成工具访问您的负载平衡,这可能很棘手。