【问题标题】:Whats the difference between Unhealthy vs Degraded .NET health check statusUnhealthy 与 Degraded .NET 健康检查状态有什么区别
【发布时间】:2019-02-01 07:19:05
【问题描述】:

我有一个在 Kubernetes 中运行的应用程序。为了在不停机的情况下利用滚动更新,我必须实施适当的健康检查,这样集群才能知道应用程序/容器何时准备好处理请求。

我正在尝试使用new ASP.NET Code 2.2 Healthchecks 功能。

我应该返回一个带有应用程序状态的 Microsoft.Extensions.Diagnostics.HealthChecks.HealthCheckResult 结构。

这个结构有 3 个静态方法可以用来返回这个状态:

  • 健康
  • 不健康
  • 降级

在哪些情况下我应该使用 Unhealthy vs Degraded 应用程序不正常?举几个例子就好了。

【问题讨论】:

    标签: docker asp.net-core kubernetes .net-core health-monitoring


    【解决方案1】:

    “降级”检查可用于成功但缓慢或不稳定的检查。例如。一个简单的数据库查询确实成功了,但花了一秒钟多的时间。在问题解决之前,将流量转移到另一个实例可能是个好主意。

    “不健康”检查意味着该组件根本不工作。例如。无法建立到 Redis 缓存的连接。重启实例可以解决这个问题。

    引用博文:

    一个失败的活性探测说:应用程序已经崩溃。你应该 关闭并重新启动。

    一个失败的就绪探测表明:应用程序正常但还没有准备好 为交通服务。

    您可以说“降级”健康检查映射到“就绪”探测,而“不健康”检查映射到“活跃度”探测。

    【讨论】:

      猜你喜欢
      • 2017-07-16
      • 2022-06-13
      • 2019-05-27
      • 2021-04-20
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      • 2015-01-24
      相关资源
      最近更新 更多