协调器中的EF迁移(eShopOnContainers)

时间:2019-12-04 01:18:00

标签: microservices ef-migrations

查看eShopOnContainers,这是Microsoft的微服务参考体系结构。我看到对于每个服务,在Program.cs中都会调用host.MigrateDbContext。反过来,这将针对给定的上下文执行所有EF迁移。

在现实的协调器中,是否不可能几乎同时旋转用于同一服务的多个容器?而且如果发生这种情况,尝试执行相同迁移的多个容器是否有可能死锁或导致其他问题?

这是未处理的事情,因为它超出了参考项目的范围,还是EF内置了一些处理我看不到的并发的东西?

1 个答案:

答案 0 :(得分:0)

我发现有很多解决此问题的方法,每种方法各有优缺点。有些很简单...将整个应用程序关闭,更新架构,然后使应用程序重新联机。有些将架构更改实现为一系列较小的更改,每个更改都向前和向后兼容,从而使停机时间为零。还有一些人利用专门为解决该任务而编写的内置或第三方工具。

因此,要回答我自己的问题,几乎可以肯定省略了该主题,因为它超出了eShopOnContainers项目/电子书的范围。正确的选择取决于项目的大小,复杂性,可接受的停机时间等。