我有数千个SQL Server数据库(每个客户端一个)。当我们决定推动生产时,我们大部分时间都会在数据库,Web API和Web应用程序中进行更改。
问题是部署所有内容所需的时间,尤其是数据库。我们正在使用Code First迁移和MVC .NET和SQL Server,所有这些都使用最新版本。这是一个SaaS。代码第一个迁移过程能够逐个更新数据库。
API和Web应用程序可在几秒钟内快速部署。但是,数据库在大约30分钟内全部更新。在此期间,一些用户遇到错误,无法使用该软件,因为API试图以非更新的数据库为目标。更糟糕的是,如果在数据库更新期间出现故障并停止,则未更新的用户将被阻塞,直到我们解决问题并更新其余数据库为止。
知道如何解决这个问题并让客户满意吗?
PS:Web应用程序无法访问数据库,只能访问API。
答案 0 :(得分:1)
这个问题有点基于意见。维护窗口方法最简单。如果你想进行实时更新,另一种方法是:
实现这一目标最可维护的方法可能是拥有至少3台服务器:
路由只能在登录时进行,或者您可以做一些更奇特的事情,例如在检测到升级时重定向登录用户。显然,这些都不涉及在客户端数据库的实际升级过程中对一个特定客户端发生的情况。你仍然需要单独解决这个问题。