我们拥有一个拥有约300名用户的Intranet,他们在白天积极使用它。我们需要能够在白天发布应用程序的预编译版本,因为用户通常会向我们提供不正确的要求,然后当天需要它。目前,我们发布了一个非预编译版本,让Web服务器编译单独的代码隐藏页面。问题是,当我们发布像App_Code这样的东西时,它会成为服务器的大风格。
是否有可能在白天发布DLL而不会搞砸某人在网页上的操作?
答案 0 :(得分:2)
我不同意第二台服务器只需要很小的停机时间。当然,如果你想要没有停机时间你需要第二台服务器,但是......
导致大停机的原因+你可能遇到的任何问题都是你在那里的任何东西,取决于应用程序没有重新启动。当您更改AFAIK时,您无法阻止它重新启动,但您可以避免导致用户额外停机或错误的辅助效果。
考虑:
更新1:请注意,您必须执行的操作可将“停机时间”减少到秒,与使用2台服务器时相同和/或相关。
所以,为此,我会首先这样做,如果你在评论中所说的不是夸大其词而且每分钟(比如说3个20秒的部署)将会失去你的体重,我会添加第二个服务器
请注意,让应用程序离线花费数百英镑的原因可能不仅仅是停机时间,而是所有丢失的会话,提交的表单(查看状态),身份验证无效等等...阅读本文 - 取决于如何处理这些内容,只是让用户在提交内容时等待时间更长......如果没有通过,他们可以重新提交并且会通过。
答案 1 :(得分:2)
我将打破“获得第二台机器”的情绪,但我也会提供一个狡猾的选择。
您始终可以在同一台计算机上设置两次网站。为机器分配2个IP地址,然后为每个网站分配一个IP地址。最后在这两个网站上设置负载平衡。这应该允许您将用户首先指向一个站点,然后指向另一个站点。我没有对此进行测试,但我想不出它不起作用的原因。
答案 2 :(得分:1)
您是否拥有多台托管该网站的服务器?如果是这样,您可以取下一个,更新它,然后将其重新联机。取下第二个,更新等。
或者,如果你只有一个,如果这个过程只需要几分钟,那就应该发布一个app_offline.htm文件说“该网站将在2分钟后回来”。
答案 3 :(得分:0)
在您所描述的单一服务器环境中,然后是nope。您将不得不等到一天结束才能进行部署。 使用此特定方案来说服您组织的权力,需要第二台服务器来进行中期更新,并帮助减少停机时间。