asp.net - 如何以零停机时间部署 ASP.NET 应用程序

标签 asp.net iis deployment redundancy

要部署我们网站的新版本,我们执行以下操作:

  1. 压缩新代码,并将其上传到服务器。
  2. 在实时服务器上,删除 IIS 网站目录中的所有实时代码。
  3. 将新代码 zip 文件解压到现在为空的 IIS 目录

这个过程都是脚本化的,发生得很快,但是当删除旧文件和部署新文件时,仍然可能有 10-20 秒的停机时间。

关于 0 秒停机方法有什么建议吗?

最佳答案

您需要 2 台服务器和一个负载均衡器。步骤如下:

  1. 关闭服务器 2 上的所有流量
  2. 部署在服务器 1 上
  3. 测试服务器 1
  4. 关闭服务器 1 上的所有流量
  5. 部署在服务器 2 上
  6. 测试服务器 2
  7. 在两台服务器上打开流量

事实是,即使在这种情况下,如果您使用“粘性 session ”,您仍然会遇到应用程序重新启动和 session 丢失的情况。如果您有数据库 session 或状态服务器,那么一切都应该没问题。

关于asp.net - 如何以零停机时间部署 ASP.NET 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/148084/

相关文章:

xcode - 无法在 iPod touch 第 4 代上执行代码

c# - ASP.net 主机关闭了连接

javascript - 无法与 asp.net 服务器通信

c# - 用linq减去两个表

c# - TNS :could not resolve the connect identifier specified I have done the research

c# - 将代码/bin 文件(重新)部署到(多个)Windows Azure 虚拟机的方法

javascript - 将 html 控件 id 从 aspx 文件传递​​给 javascript

c# - WCF - 无法停止 net.tcp 绑定(bind)(托管在 IIS 上)

asp.net - IIS 不使用用户环境变量

java - 在 tomcat 中部署 java/flex 应用程序时访问文件时出现问题