当我更新网站时,我只是用新文件替换内容。
大型网站如何更新其内容?当数千名访客正在浏览该网站时。
示例如何,Facebook或Twitter如何做到这一点?成千上万的开发人员在网站上工作,数百万访问者。他们是在处理网站的副本然后切换DNS吗?他们在使用Git吗?
答案 0 :(得分:4)
Blue-Green是一种广泛使用的部署策略,可以避免停机。
首先,您需要一个路由器/负载均衡器,它可以将对虚拟IP的请求转发给实际的机器。在我工作的地方,我们使用F5。
您还必须拥有两个生产环境,名为" blue"和"绿色"。
其中只有一个是"直播"随时。 通过这个,我的意思是你的路由器必须将所有传入的请求转发到" blue"环境,或"绿色"环境。
让我们说"绿色"是实时的,您需要将新版本的应用程序发布到生产环境中。
如果在上线之后你发现有一个错误,只需通过再次更改你的路由器来回滚以将所有请求路由到你的"绿色"环境,与#34; old"应用
有关蓝绿色部署的更多信息,请访问:BlueGreenDeployment
另一个众所周知的部署策略是Canary Release,它为少数用户启用了新功能,一旦所有内容都经过正确测试,就可以为所有用户启用。
答案 1 :(得分:0)
他们正在使用Git,SVN等版本系统。因此,他们可以在不同功能的团队中工作,推送和审查提交以获取实时环境(拉取请求)。此外,大型网站也有一个非常大的测试基础设施。