Php 如何在无停机时间的水平缩放设置中使用Laravel迁移?
我喜欢横向扩展web应用程序,这意味着让它在多个节点上运行,并由一个负载平衡器分配负载。在我的例子中,它是一个Laravel应用程序,提供Laravel迁移以控制数据库方案更改的版本。有一个数据库实例连接到节点 现在,如果我想要零停机时间,我通常的方法是一个接一个地耗尽节点,并用运行新应用程序版本的节点替换它们 何时以及如何应用Laravel迁移,或者更一般地说,为新的应用程序版本更新数据库 如果新的数据库结构是向后兼容的,那么运行以前版本的尚未耗尽的节点应该可以正常运行。但是,如果您的数据库迁移不是向后兼容的(或者您只是不知道这一点,因为毕竟,可靠的自动化过程的要点是不必一直考虑这些事情),那么如何进行呢 有一些文章描述了在一个实例上使用多个文件夹实现零停机时间,但没有横向扩展。 例如Php 如何在无停机时间的水平缩放设置中使用Laravel迁移?,php,database,laravel,laravel-migrations,horizontal-scaling,Php,Database,Laravel,Laravel Migrations,Horizontal Scaling,我喜欢横向扩展web应用程序,这意味着让它在多个节点上运行,并由一个负载平衡器分配负载。在我的例子中,它是一个Laravel应用程序,提供Laravel迁移以控制数据库方案更改的版本。有一个数据库实例连接到节点 现在,如果我想要零停机时间,我通常的方法是一个接一个地耗尽节点,并用运行新应用程序版本的节点替换它们 何时以及如何应用Laravel迁移,或者更一般地说,为新的应用程序版本更新数据库 如果新的数据库结构是向后兼容的,那么运行以前版本的尚未耗尽的节点应该可以正常运行。但是,如果您的数据库迁
也有很多关于水平缩放的文章。但我似乎找不到任何解释如何处理数据库迁移的方法。节点之间共享一个数据库,对吗?@levi yes。我会更新这个问题。嗨@RichardKiefer,你设置好了吗?嗨@fgilio很抱歉反应太晚。希望你能找到出路。我还没有真正解决它。关于这是否是拉拉维尔的责任还有一个讨论:我们很少有突破性的变化,所以这个问题还没有在野外出现。我将通过弃用模式、更新代码以不再使用弃用的内容、等待部署以使旧代码节点不再处于活动状态,以及在下一版本中删除弃用的内容来规避这些问题。嗨@RichardKiefer,不用担心。我也没有解决它。感谢分享GitHub问题!