繁体   English   中英

如何使.NET Core微服务进行递归健康检查?

[英]How can I make my .NET Core microservice do a recursive health check?

如前所述,我可以这样做:

checks.AddUrlCheck(Configuration["OrderingUrl"])

使我的健康检查取决于其他微服务的健康状况。 但是,我不只是想进行网址检查。 我想对另一个微服务进行完整的运行状况检查(因此它还将检查另一个微服务的数据库依赖关系等)。 可能是这样,

checks.AddFullMicroserviceIncludingDatabaseAndUrlCheck(Configuration["OrderingUrl"]) (假设)。

如何在.NET Core微服务中进行这样的递归健康检查?

在您的微服务中,您可以做任何您想做的事情。 假设我们有两个微服务AB ,我们想监视它们的运行状况检查:

微服务A

此微服务使用SQL Server,因此我们将检查SQL连接。

services.AddHealthChecks(checks =>
{
    checks.AddSqlCheck("ServiceA_DB", Configuration["ConnectionString"]);
});

微服务B

此微服务也使用SQL Server,但它也使用其他服务(例如REST API),因此我们将检查SQL连接和REST API

services.AddHealthChecks(checks =>
{
    checks.AddUrlCheck(Configuration["RequiredServiceUrl"]);
    checks.AddSqlCheck("ServiceB_DB", Configuration["ConnectionString"]);
});

网页状态

最后,我们有一些Web应用程序监视这两个微服务

services.AddHealthChecks(checks =>
{
    checks.AddUrlCheck(Configuration["ServiceAUrl"]);
    checks.AddUrlCheck(Configuration["ServiceBUrl"]);
});

这意味着,如果我导航到http://webstatus/hc (运行状况检查页面),系统将检查http://serviceA/hc (检查数据库)和http://serviceB/hc (检查数据库并休息) API)。

或者,你可以想像每个微服务的健康检查,如图存在 (图10-8)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM