【Azure 应用服务】App Service 自动扩容时,如何避免新实例尚未就绪就接收流量(健康检查篇)?

简介: 在 Azure App Service 自动扩缩容场景下,如何确保新实例完成启动与依赖初始化、通过健康检查(如 `/ready` 接口)后再接入流量,是保障业务稳定的关键。本文详解 Health Check 配置、验证及最佳实践。(239字)

问题描述

在 Azure App Service 中启用 Automatic Scaling 后,当业务负载增加并触发横向扩展时,平台可能需要动态增加新的 App Service 实例。

 

对于生产环境,一个非常重要的问题是:

如何确保新扩展出来的实例已经完成应用启动、依赖初始化并处于健康状态后,再开始承载实际业务流量,从而降低扩容过程对业务稳定性的影响?

解决这个问题不能只关注扩容规则本身,还需要从应用架构、应用初始化、实例健康检查以及预热能力几个方面共同考虑。

 

问题解答

在应用架构方面,建议采用无状态设计,将 Session 等状态保存在 Redis、数据库等共享存储中,而不是依赖单个实例的内存。

启用 Automatic Scaling 时,同一 App Service Plan 中已有应用的 ARR Affinity 会自动关闭,因此需要确保请求切换实例后仍能正常处理。


除了应用架构,另外三个方面分别解决不同的问题:

  1. Application Initialization:提前初始化应用,完成预热。
  2. Health Check:检查实例健康状态。
  3. Prewarmed Instance:提供扩容时的预热容量缓冲。

本文重点介绍 Health Check。应用初始化已在第一部分介绍,预热实例将在第三部分介绍。

实例健康检查(Health Check)

新实例完成启动后,应用和必要依赖不一定已经具备处理业务请求的能力。

配置 Health Check 后,App Service 在扩容时会探测指定路径,以检查新实例是否就绪。

例如,应用可以提供 `/ready`:初始化完成且关键依赖可用时返回 200,否则返回 503。 接口应轻量、无副作用,并设置合理的依赖检查超时。


如何配置和验证

在 Azure Portal 中进入应用的 **Monitoring > Health check**,启用 Health Check,填写 `/ready` 并保存。

注意,修改 Health Check 配置会触发应用重启。

  • 平台每分钟探测一次,返回 200–299 表示健康。
  • 对于运行中的实例,默认连续失败 10 次后才判为不健康。该次数可通过 `WEBSITE_HEALTHCHECK_MAXPINGFAILURES` 调整为 2–10 次。
  • Health Check 不保证所有不健康实例都被摘除。默认最多摘除一半活跃实例,所有实例不健康或只有一个活跃实例时,不会全部摘除。
  • 生产环境应保留至少两个活跃实例,并确保 Plan 容量足够。
  • 测试时可模拟依赖故障,观察健康状态和业务请求。
  • 探测路径应避免重定向,使用自定义认证时,需允许探测访问,并按官方文档限制访问或验证平台请求。

 

参考资料

App Service Health Check : https://learn.microsoft.com/azure/app-service/monitor-instances-health-check

App Service Automatic Scaling : https://learn.microsoft.com/azure/app-service/manage-automatic-scaling

 


当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
14天前
|
Linux 开发工具 iOS开发
Codex保姆级教程(下载+安装+登录+使用,含所有版本,2026最新)
Codex是OpenAI推出的开源AI编程智能体,本地运行,可理解整个代码库,支持自然语言指令改代码、执行命令、跑测试、修Bug,兼容Win/macOS/Linux。(239字)
5826 43
|
14天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
4948 58
|
8天前
|
Linux 开发工具 iOS开发
2026最新codex下载安装保姆级使用教程(下载+安装+登录+使用,含所有历史版本)
本文详解OpenAI Codex国内快速上手指南:提供Win/macOS/Linux全平台免安装包、npm/Homebrew等多方式安装、账号/API Key双登录、简体中文切换,覆盖下载、安装、汉化、使用及高频避坑(如微软商店失败、npm超时等),10分钟即可跑通。
2331 6
|
6天前
|
人工智能 安全 API
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(dsh)是DeepSeek AI于2026年开源的轻量级Agent运行框架,基于Cordis内核,践行“一切皆插件”理念。支持Web/桌面双端,开箱即用;内置多模型接入、丰富插件生态(超3.5万),适配编程、办公、创作等场景。(239字)
1432 0
|
9天前
|
云安全 人工智能 安全
|
2天前
|
云安全 人工智能 安全
|
8天前
|
人工智能 并行计算 调度
本地 AI 一键部署工具 LocModel:Windows 端集成画图、视频生成、Agent 的开源模型运行方案
LocModel 是专为 Windows 设计的一站式本地 AI 工具,支持零配置启动、自动硬件检测、GGUF 模型一键加载、文生图/视频生成及 Agent 自动化任务。适配 8G 显存,内置显存分片调度,轻松实现 AI 漫剧批量创作与离线大模型调用。(239 字)