Azure应用网关Cookie-Based Affinity在VMSS缩容时的工作机制及请求处理疑问
Azure VMSS缩容时的实例关闭行为
默认情况下,VMSS触发缩容删除实例时,不会主动等待该实例上的活跃请求完成,会直接执行关机/删除操作。但针对你这种承载IIS与.NET应用、启用Cookie亲和性的场景,可以通过配置优化这个行为:
- 启用VMSS的实例终止通知(Instance Termination Notification):开启后,VMSS会在删除实例前发送通知(HTTP请求或本地事件),你可以在应用中监听该通知,自行处理活跃请求收尾——比如拒绝新请求、等待现有请求完成后再允许实例关闭。
- 配合IIS的优雅关闭设置:在IIS管理器的站点“高级设置”中调整“关闭时间限制”,设置合理的超时时长(如300秒),让IIS有足够时间处理完正在进行的请求再停止站点。
- 关注Cookie亲和性的影响:缩容时负载均衡器不会立刻把该实例从流量路由中移除,若实例被直接删除,正在处理的请求会被中断。启用终止通知后,你可以先通知负载均衡器停止向该实例转发新请求,再等待现有请求处理完毕。
另外,你的自定义缩放规则是删除最新创建的实例,VMSS默认的缩容优先级(最新实例优先)符合这个逻辑,只要你没修改过缩容策略的实例优先级即可。
内容的提问来源于stack exchange,提问作者Raghava Akula
相关产品推荐
相关产品推荐

