我有一个基于AWS容器服务构建的架构,其中 laravel 作为API 服务运行到我的JS 应用程序中。
我的问题是:执行迁移的最佳方式是什么?
我的假设是在集群中运行同一 laravel 应用程序的多个实例时,我冒着应用程序本身同时运行迁移的问题的风险。 对吧 ?
在数据库上运行迁移而不为我们的客户停机的最佳方法是什么? 也许是专门设计用于在镜像数据库上运行迁移的外部服务?
拱门轮廓 :
- ECS - Laravel(5-10 项服务(
- 弹性云服务器 - JS(10-20 项服务(
- RDS - MySQL 数据库(1 个 EC2 实例(
应用容器不应运行迁移等管理任务,否则在重新启动时会遇到多个实例或无用操作的争用。
通过阅读几篇文章,干净的解决方案似乎运行一次性任务来执行迁移。 例如,这类似于 hwo 在 Heroku 上工作的东西。