我的用户 24/7 全天候使用该网站。是否有构建时间的模因?
国际观众,东部时间的单一服务器集群,但在早上被国际客户击中。
1个数据库,几个Web服务器,所以如果没有数据库,简单,无论何时。
但是当网站必须关闭时,作为程序员,你什么时候会看到 SO 关闭 15 分钟最不生气。
我的用户 24/7 全天候使用该网站。是否有构建时间的模因?
国际观众,东部时间的单一服务器集群,但在早上被国际客户击中。
1个数据库,几个Web服务器,所以如果没有数据库,简单,无论何时。
但是当网站必须关闭时,作为程序员,你什么时候会看到 SO 关闭 15 分钟最不生气。
如果从用户的角度来看确实没有好时机,那么我建议您的团队有最多时间从任何与构建相关的灾难中恢复时进行。
这是我所做的,对我来说效果很好:
如果你很小,那么是的,找出你的最低使用时间是什么时候,然后去做(对我们个人而言,通常在太平洋标准时间凌晨 1 点至凌晨 3 点左右是最低的下降......但它当然永远不会下降到 0)。一旦您开始拥有更大的用户群,如果您希望人们认真对待您,您将需要设计您的应用程序,以便您可以在不停机的情况下进行升级。这并不简单,它通常涉及拥有多个服务器。
我花了很长时间试图让我们的应用程序达到这一点,到目前为止我想出的最好的方法是几个小时同时运行旧版本和新版本。切换时登录的用户会一直使用旧版本,直到退出。下次他们进来时,他们会进入新版本。切换后进入的任何用户都会被直接发送到新版本。它仍然不是万无一失的,但它非常好。
它是一个什么样的应用程序?我使用的大多数网站都倾向于在凌晨 2 点或 3 点左右更新。
使用第二个站点,并根据需要进行热插拔。
热插拔的问题是,数据库仍然是共享的,并且重大更改也会导致停机。
我想你得问问你的客户。
无论如何,还有凌晨。如果您谈论的是本地可用的网站,我认为用户不会介意他们在时区凌晨 2 点收到“维护中”通知。
取决于您所在的位置:东海岸凌晨 4 点/西海岸凌晨 1 点通常是最轻的时间。
选择几次您想要执行的操作,并将它们作为决策者类型的选择。无论您做什么,在部署时都设置一个“进行日常维护”页面。
First use an analysis tool to try and determine your typically "light" traffic times. Depending on the site and your location in the world in comparison to most of your users, it could be 4am, it could be 1pm, who knows. Then, once you have a good timeframe nailed down, make sure to have your deployment process as automated as possible, so that it happens quickly to minimize the downtime of your site.