2

我正在阅读这篇文章https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks?view=aspnetcore-3.1#filter-health-checks并且无法可视化使用过滤器健康检查的实际用例。在现实世界的情况下,我什么时候会使用它?谢谢!

4

2 回答 2

1

在您共享的同一页面中,您可以看到以下内容:

容器编排器和负载均衡器可以使用运行状况探测来检查应用程序的状态。例如,容器编排器可以通过停止滚动部署或重新启动容器来响应失败的健康检查。负载均衡器可能会通过将流量从故障实例路由到健康实例来对不健康的应用程序做出反应。

可以监控内存、磁盘和其他物理服务器资源的使用情况是否正常。

运行状况检查可以测试应用程序的依赖项,例如数据库和外部服务端点,以确认可用性和正常运行。

如您所见,有多种不同类型的健康检查。

我可以看到两个原因:

  1. 不同的报告目的
  • 为特定监控客户端分组项目。一个可以是系统部门,一个可以是数据库部门
  1. 性能原因
  • 评估数据库的运行状况可能需要一些时间。您可能需要在夜间举起这些,而其他人则每 5 分钟举起一次。过滤将执行正确的过滤。
于 2020-09-08T10:13:13.317 回答
0

可以使用多种运行状况检查类型。您提供的链接中提到了大多数。一些比较流行的包括检查数据库连接或端点是否可用。

至于现实生活中的情况:

我将我的服务添加到 Kubernetes。如果您不知道 kubernetes 是什么,可以将其视为跟踪我的服务的人。现在在 kubernetes 中,您可以指定健康检查的端点,以便 kubernetes 可以收集有关应用程序状态的信息。Kubernetes 可以配置为根据您的健康检查状态执行特定操作。例如 kubernities 要求对您的服务进行一般健康检查。假设数据库连接和您通过端点进行通信的另一个服务。在某个时间间隔内,它会出现降级(不能做我需要它做的事情)状态,因为没有任何工作。那时我可以预先设置 kubernities 以关闭服务或重新启动它。

现在,如果您将服务扩展到相互通信的多个服务和多个数据库。然后您可以看到如何使用 Kubernetes 和运行状况检查来保持对整个系统的良好监控前景。正如您可以想象的那样,一些健康检查的复杂性也会扩大。

这是今天在微服务系统上进行健康检查时发生的真实情况。真的很有帮助。

我希望这对你有帮助:D

于 2020-09-08T10:57:32.493 回答