将单个 Windows Azure 云服务应用程序部署到多个数据中心的推荐方法是什么?
我是否应该在所有数据中心暂停现有应用程序,然后在部署完成后重新启用它们?或者有更好的方法吗?
理想情况下,我希望能够在 Windows Azure 云项目的配置文件中设置数据中心列表,以便在单个发布操作期间,应用程序将同时上传到多个数据中心(例如美国中北部) 、西欧和东亚数据中心)。
最佳答案
您所描述的内容将需要一些自定义部署逻辑。我建议您熟悉 PowerShell 和 Windows Azure Management Cmdlets 。 Github 上提供了一系列有关如何使用 PowerShell 进行打包部署的示例。 .
我将使用相同的 PowerShell 脚本(每个托管服务具有不同的参数)将您的 Azure 包和服务配置文件上传到每个数据中心(即您的多个数据中心)中的每个主机服务的暂存槽。您需要一些自定义等待逻辑来轮询暂存槽部署的状态并等待 READY 状态。完成此操作后,您就知道您的虚拟机已准备就绪,并且如果您的应用程序加载速度很快,您也可以使用 PowerShell 执行 VIP 交换。
完成此操作所需的 PowerShell 命令如下:
- 新部署(使用此部署到每个数据中心的托管服务)
- Get-HostedService(使用它来获取新部署的托管服务的状态)
- 移动部署(在所有暂存槽部署准备就绪后,使用此功能执行 VIP 交换)
请注意,即使您构建此系统,也有可能出现不同步的情况,最好的情况是几秒钟,最坏的情况是几分钟,因此您的新部署始终需要与底层数据存储系统向后兼容/架构。
关于azure - 将 Windows Azure 云服务部署到多个数据中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14087884/