当Azure平台决定关闭我的一个Web角色实例时,该如何实现?
例如,它是否停止发送新请求,但允许现有请求完成?我无法想象它只会终止日常维护的活动连接。这将是极具破坏性和代价高昂的。
对这个小黑盒子的任何见解都会很棒,特别是如果你知道MSDN或Azure CAT链接进入这个。
答案 0 :(得分:6)
Fabric Controller将从负载均衡器中删除该实例,以便它不会收到任何新请求。然后它将进入一个干净的关闭序列,首先关闭ASP.NET的常规生命周期(可能会因应用程序是在集成模式还是经典模式下运行而变化),等待请求结束(最多在shutdownTimeLimit属性中指定的duration,然后引发RoleEnvironment.Stopping事件并调用角色的OnStop方法进行清理。最后,作业对象将被终止。
参考文献: