我想知道这些公司如何在不停机的情况下部署新版本的网站。我知道蓝绿部署模型,但是,我想知道这些站点如何避免/减少停机时间。
答案1
Google 以几种不同的方式处理这个问题。如果你研究他们的数据中心模型,以及他们在每个数据中心运行“集群”机器的事实,他们能够关闭数据中心,使其不接受请求,推出更改,打开数据中心,并进行滚动升级。他们还可以对数据中心内的集群执行此操作。最近,他们通过按数据中心推出的方式,将机器上的文件系统从 ext3 升级到 ext4。
Google 也分阶段推出新功能,让不同群体的用户获得与其他用户不同的用户体验。Facebook 也这么做。
eBay 通过负载平衡器更改、升级和迁移停用了其数据中心的很大一部分,而不是停用另一半。据说他们有足够的冗余度,可以在 1/3 的可用硬件上运行他们的网站。他们现在可能有更复杂的方法,这是我 4 年前读过的一篇论文。
答案2
像 Google 和 eBay 这样的大型网站使用比蓝绿链接中呈现的模型复杂得多的方法来为其网站提供服务。有代理服务器、故障转移硬件(或模拟器)、任播和许多其他技术可以确保无缝运行。
答案3
通常通过在处理网站的负载平衡器后面设置多台服务器来实现。通过这种方式,他们可以将一些服务器从负载平衡器中移除以进行升级,然后将其重新放入轮换中,并取出其他服务器进行升级。通过这种方式,网站似乎永远不会离线。