Azure的文档的扩展研究后,我们还是很怀念的天青如何内置的云服务自动缩放作品的一些重要细节。我们的云服务是具有单一Web角色的简单ASP.NET应用程序。默认情况下,我们将部署到2个实例以获取SLA覆盖范围,并且每次只按一个实例按比例放大或缩小。我们使用启动任务来配置IIS并在csdef中定义它们。我们使用RoleEntryPoint来指定OnStart事件中的自定义热身逻辑。我们确信启动任务和OnStart不会因错误而失败。Azure云服务内置自动缩放如何工作?
以下问题从我的观察得到的,并打算如果这是预期的行为,以澄清。
当云服务按比例向上或向下当前会有取出负载平衡器的某个时间短量并不会服务器请求每个实例。这是真的吗?
topologyChangeDiscovery在csdef =“闯天关”不改变这种行为,并在规模化经营情况仍然取出负载平衡器。这是真的吗?
如果在云服务N个实例,并将其扩展到N + 1将会有一些时候,只有N-1情况下的服务请求。这个时间等于N *(单实例配置更改所需的时间)。这是真的吗?
有没有办法设置自动缩放,以确保当前在云服务中规模化经营将成为没有中断请求的所有实例? (通过任何手段不仅使用Azure的内置自动缩放)
UPDATE:
我已经进行测试,以实际检查什么情况下是服务期间大规模事件的请求。简单的控制台应用程序轮询云服务并记录哪些实例响应请求。我已将Azure门户中所有更改的屏幕截图添加到日志文件中。
下面是结果:从2到3个实例 扩大: https://gist.github.com/samfromlv/8029ff0b3fdb3e6bd02a#file-scaleuplog_withscreens-txt
比例从3降到2实例: https://gist.github.com/samfromlv/8029ff0b3fdb3e6bd02a#file-scaledownlogs_with_screens-txt
控制台应用程序的源代码,并记录格式描述: https://gist.github.com/samfromlv/8029ff0b3fdb3e6bd02a
你的问题很相似,[这个问题](http://stackoverflow.com/questions/22252802/azure-autoscale-restarts-running-instances),其中有一些讨论的答案行为。 –
在我们的案例中没有角色回收(IIS进程未重新启动)。你特别提到的问题是关于什么导致回收的问题。 – samfromlv