【发布时间】:2017-08-22 10:44:35
【问题描述】:
假设我有一个 azure sql (paas),它前面有一组规模的 VM,每个 VM 都包含一个托管在 IIS 中的网站。在规模集前面,我有一个流量管理器,仅用于网站更新(每当我需要更新时,我创建第二个规模集,VM 具有最新版本,在第二个规模集部署后,我更改流量管理器以将流量路由到新创建的规模集)。该网站是100%无国籍的。在我创建第二个规模集之后,问题就出现了:如何在 sql azure db 上运行推出脚本而不干扰使用旧网站版本的客户端?
我正在考虑使用镜像或类似的数据库在第二个 azure db 上复制事务,同时在同一时间推出脚本中运行它。然后我只需要切断实时规模集的流量并等待会话耗尽,然后切换到新的规模集。这是一个好方法吗?我发现我失去了我真正需要的“永远在线”功能。我真的不知道最佳实践,一本书或一个链接会受到高度赞赏。
简而言之,即使对于计划中的应用程序更新,我也希望保持“尽可能高可用性”。我怎样才能做到这一点?
【问题讨论】:
标签: azure azure-sql-database scale load-balancing