Sko*_*ioh 19 c# sql-server asp.net deployment iis
我们有一个庞大的ASP.NET Web应用程序需要部署到LIVE,停机时间为零或几乎为零.让我指出,我已经阅读了以下问题/答案,但遗憾的是它并没有解决我们的问题,因为我们的架构有点复杂.
假设我们目前有两台IIS服务器响应请求,并且两台服务器都连接到同一台MSSQL服务器.解决方案看起来像小菜一碟,但这并不是因为我们不时要应用的主要架构变更.由于它的大小很大,简单的数据库备份大约需要8分钟,这已经变得不可接受了,但出于安全原因,它必须在每次新部署之前完成.
我想请求您帮助尽可能缩短部署时间.如果您对不同的架构有任何好的想法,或者您使用的工具可以帮助我们,那么请不要害羞并分享信息.
目前我们提出的最好的想法是购买另一个SQL服务器,它将被设置为原始数据库的副本.从负载均衡器,我们将所有新流量路由到两个IIS Web服务器之一.当第二个Web服务器没有运行会话时,我们可以部署新代码.现在来了困难的部分.此时我们将与网站脱机,取消两个SQL服务器之间的复制,这样我们就可以直接获得数据库的快照,并保持一致的状态(在8分钟内节省了7.5分).最后,我们将更新主SQL服务器上的数据库模式,并在我们将第二个Web服务器升级到新版本时通过更新的Web服务器路由所有流量.
还请分享您对此解决方案的看法.我们能以某种方式设法消除与网站脱机的需要吗?带有mammuth Web应用程序的bluechip公司如何进行部署?
每个想法或建议都非常受欢迎!购买新的硬件或软件确实不是问题 - 我们错过了突破性的想法.在此先感谢您的帮助!
编辑1(2010.01.12):
另一个要求是消除人工干预,因此事实上我们正在寻找一种可以自动应用的方式.
我只想提醒您需求清单:
1.备份数据库
2a.部署网站
2b.更新数据库架构
3.更改为更新的网站
4(可选):如果出现问题,可以轻松恢复到旧网站.