如何在不发生临时中断的情况下扩展Azure应用程序?

sha*_*oth 2 windows api azure azure-web-roles

我正在使用Windows Azure Management API来扩展我的Azure Web角色.在某些时候,我有一个实例,并决定我想从一个实例转到两个实例.我发送HTTP POSt请求

https://management.core.windows.net:443/<my-subscription-id>/services/hostedservices/<my-service-name>/deployments/<my-deployment-name>/?comp=config
Run Code Online (Sandbox Code Playgroud)

使用XML指定与当前部署相同的配置,并将实例计数设置为2.呼叫成功,更改开始.现在大约30秒,Web角色将不接受HTTP调用 - 调用者将获得

10061 connection refused
Run Code Online (Sandbox Code Playgroud)

在浏览器中.这意味着该角色不会为客户端请求提供服务.那是个问题.

如何以始终为客户端请求提供服务的方式扩展Web角色?

ast*_*kov 7

根据SLA(服务水平协议 - 计算):

我们保证,当您在不同的故障和升级域中部署两个或多个角色实例时,面向Internet的角色将至少有99.95%的时间具有外部连接.

这意味着SLA不支持一个实例,因此您可能(或将会)有停机时间.如果从2或更大,或从更多到2,则不会有任何中断.

此博客文章概述了有关故障和升级域的良​​好解释.首先,扩展意味着"升级" - 您正在更改配置,此配置更改需要通过所有角色和实例进行传播.实现停机时间(当前)的唯一方法是至少有两个实例,每个实例都位于不同的域中.