You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET eShop应用为何添加'self'健康检查?移除'live'标签影响如何?

.NET eShop健康检查相关问题解答

关于名为'self'的健康检查

  • 无参的AddHealthChecks()仅会注册健康检查的基础框架服务,但不会添加任何实际的检查逻辑——此时健康检查端点虽然能返回200,但只是证明框架本身在运行,并没有验证应用自身的基础可用性。
  • eShop里的'self'健康检查是一个自定义的轻量检查项,通常用来验证应用的核心基础功能:比如依赖注入容器是否正常初始化、核心配置是否加载完成、应用的基础服务是否能正常响应。它是一个"应用自身是否存活"的最小验证,确保应用不是空跑的框架,而是具备基础运行能力的。
  • 两者完全不同:无参调用是搭建了空的健康检查框架,'self'检查则是给框架加上了第一个实际的验证逻辑。

关于'live'标签的作用

  • 'live'标签是用来给健康检查分组的,最常见的场景是配合容器编排工具(比如Kubernetes)的存活探针使用。
  • 存活探针的核心作用是判断应用本身是否还在正常运行,只需要关注应用自身状态,不需要考虑依赖的外部服务(比如数据库、缓存)是否可用。此时就可以通过指定只运行带'live'标签的检查(也就是'self'检查),避免因为外部服务故障导致应用被误重启。
  • 如果移除'live'标签,存活探针可能会默认运行所有健康检查,一旦某个依赖服务故障,健康检查失败,容器编排工具就会认为应用挂了而重启它,但实际上应用本身是正常的——这会导致不必要的重启,影响应用稳定性。

内容的提问来源于stack exchange,提问作者Leni Lenkov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 04:39:53