【问题标题】:How to upgrade only single instance of webrole in Windows Azure如何在 Windows Azure 中只升级单个 webrole 实例
【发布时间】:2013-01-11 16:45:07
【问题描述】:

我创建了 Azure 项目。使用两个实例创建了一个 Web 角色。我已经从 VS2010 发布了两个实例。现在我想通过关闭站点来更新角色的另一个实例。请尽快帮助我。

【问题讨论】:

    标签: azure azure-web-roles


    【解决方案1】:

    您无法更新一个实例。这就是为什么你有生产和暂存槽的原因。将您的新代码上传到暂存槽,在仪表板的临时 URL 上检查它。然后,高兴的时候,交换VIP。最后,删除暂存槽中的旧代码。

    负载均衡器实际上会在 VIP SWAP 之后将用户移动到新实例,以获得不间断的用户体验。

    【讨论】:

      【解决方案2】:

      虽然 VIP 交换是首选方法(因为回滚更容易),但它可以在不使用暂存槽和生产槽的情况下完成。

      如果您在一个角色中拥有多个实例,则在您部署结构控制器时,它将为您处理所有事情。它将确保一次升级一个实例。

      如果您查看云服务实例选项卡上的两个实例,您会发现它们位于不同的更新(和故障)域中。 (升级和更新域是一回事——MS 在文档、api 和门户中交替使用它)。结构控制器先升级一个域中的所有机器,然后再启动另一个域。这种情况下会升级一个实例,只有升级成功后,才会开始升级另一个实例。更多信息请查看Overview of Updating a Windows Azure Service

      简短的回答是,只要您配置了多个实例,您就不必担心站点因升级或故障而停机。用一个简单的项目试试这个,你会发现它按预期工作。

      【讨论】:

      • 你的意思是说,即使我发布了我的云项目,也总是至少有一个实例正在运行。那么就没有必要考虑交换 VIP 并尝试从云项目中只更新一个实例。帮助很多谢谢西蒙。
      • 没错。只要您有多个实例在运行。还要尝试将部署配置(来自 VS)中的实例数与门户中配置的实例数相匹配 - 如果新服务定义中的实例较少,您可能会遇到中断,因为整个升级域可能会被取出。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多