【发布时间】:2011-10-08 02:59:33
【问题描述】:
好的,一家小公司可以只通知他们的用户,然后在他们升级数据库/代码时 404 他们的网站。但这有点丑陋,不鼓励定期迭代。
真正的大公司(如 Facebook)如何在不停机的情况下进行迁移?
【问题讨论】:
-
想象一下有多个数据库服务器,而不使用关系数据库,容量过剩。您可以轻松地将其关闭、进行更新、重新同步并重新启动,而用户永远不会知道。
好的,一家小公司可以只通知他们的用户,然后在他们升级数据库/代码时 404 他们的网站。但这有点丑陋,不鼓励定期迭代。
真正的大公司(如 Facebook)如何在不停机的情况下进行迁移?
【问题讨论】:
关键组件是数据库。我见过的一种方法涉及使用复制在两台服务器之间镜像数据。设置完成后,可以升级主数据库服务器,同时将应用程序服务器指向辅助(复制)服务器。主数据库升级完成后,应用服务器可以延迟升级并指向升级后的数据库。诀窍是确保应用服务器可以处理多个数据库模式。为此,您正在考虑在某种负载平衡设备后面拥有多个服务器集群。它并不便宜:)。
【讨论】:
他们使用具有大规模并行性的集群解决方案,因此他们可以在不影响服务的情况下将一台服务器从集群中取出,升级它,然后将其放回集群中。这通常要求版本向后兼容。
【讨论】: