具有EF迁移的azure网站如何在更新时确保完整性

Ran*_*ndy 12 azure azure-web-sites

场景很简单:使用EF代码首次迁移,使用多个azure网站实例,大小合适的数据库,如100GB(假设是天蓝色的SQL),大量活跃的并发用户......对于它来说是20k.

目标:推出更新,与活跃用户一起,在升级时保持完整性.

我已经筛选了我能找到的所有文档.然而,核心细节似乎缺失或我公然忽略它们.当Azure通过FTP/git/tfs收到更新请求时,它如何处理更新?它对活跃用户有什么作用?例如,它是否冻结对所有实例的传入请求,让已处理的项目完成,升级/替换每个实例,让EF迁移过程,然后让流量再次开始?如果它同时升级/刷新所有实例,它如何确保EF迁移只运行一次?如果它在滚动升级过程中刷新实例(一次升级1而没有入站流量冻结),那么它如何确保完整性,因为旧状态的实例会/可能会中断?

主要问题是,收到更新请求后的实际流程是什么?更新实时网站有哪些建议?

ric*_*rdb 0

我正在观看 Pluralsight 上的“基础知识”课程,其中涉及到这一点。如果您有 3 个站点,Azure 将使其中一个站点脱机并升级,然后在准备好后重新启动它。此时,其他 2 个实例将脱机,升级后的实例将启动,从而运行架构更改。

当这两个回来时,EF 迁移已经运行,因此您的网站又回来了。

从理论上讲,这一切听起来应该可行,但根据需要运行的 EF 迁移量,请求可能会延迟。

然而,作者的评论是,在这种情况下(即进行架构更改),您应该考虑您的网站是否可以在这种情况下运行。建议您要么需要使代码同时适用于新旧模式,要么显示“维护系统下页”。

总结似乎是,根据您实际升级的内容,这将影响您的选择和部署方法。