我即将开发一个新网站 (SaaS) 项目,并希望使用 Azure 作为平台。我希望每个客户端数据彼此隔离,我选择使用弹性数据库引擎来实现。
每个客户端必须有一个特定的端点,例如 bla.siteName.com、bla2.siteName.com、bla3.siteName.com,这可以通过子域名和自定义域的使用轻松实现。
最后,网站本身应该托管在 azure 的网络应用程序上,但这就是我碰壁的地方。
我希望能够一次将每个客户端移动到较新版本的 Web 应用程序。
因此,如果我的网络应用程序正在运行版本 1.0,并且我在版本 1.1 中添加了新功能,我希望能够将客户端和客户端数据库移动到版本 1.1,而他们不会注意到。
到目前为止,我的想法是发布新的 Web 应用程序版本 1.1 并将该特定客户端的子域名移动到版本 1.1 Web 应用程序。但这最终会导致停机,因为子域的切换需要时间。
我是否遗漏了一些东西,或者我只是要过度设计一些非常简单的东西?
或者我应该只专注于单一网站服务所有方法,并立即升级所有客户数据库?
最佳答案
您可能想尝试Azure Deployment Slots 。它有很多用途,包括您所描述的用途。您可以使用 Azure 流量路由将一部分用户路由到您的某个部署槽。
关于azure - 如何处理 Azure Web 应用程序版本控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46364915/