C#托管服务控制台应用程序的运行状况检查



我有两个托管服务,必须检查彼此的健康状况。如何在C#控制台应用程序(托管服务(中实现健康检查。检查托管服务运行状况的参数是什么。

如果可以选择通过HTTP进行健康检查,我建议您查看.Net Core的内置健康检查功能。它在应用程序中设置了一个REST端点,您还可以在其中实现自定义的健康检查行为。

请参阅:https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks?view=aspnetcore-3.1

从技术上讲,您可以调用另一个托管服务的公开健康检查API。

您可以将运行状况检查端点添加到每个托管服务中。每个服务都将是可访问的,为什么HTTP/REST和服务A可以调用服务B的健康检查API,反之亦然。

例如,服务B随后向http://service-a-base-url/health和服务Ahttp://service-b-base-url/health

如果两个服务都在同一台主机上运行,您可以使用端口筛选,以便每个服务运行状况检查端点都在不同的端口上侦听。在这两种情况下,您也可以使用localhost作为主机名,只使用不同的端口。另请参阅以下答案:https://stackoverflow.com/a/57906886/7730554

注意:如果这是关于监视您的应用程序,我建议您考虑使用某种监视服务的集中监视方法,而不是让您自己的应用程序为监视目的进行健康检查。

相关内容

最新更新