![](/img/trans.png)
[英]How can I selectively enforce HTTPS on a health check endpoint created using ASP.NET Core Middleware Health Checks?
[英]How can I make my .NET Core microservice do a recursive health check?
如前所述,我可以这样做:
checks.AddUrlCheck(Configuration["OrderingUrl"])
使我的健康检查取决于其他微服务的健康状况。 但是,我不只是想进行网址检查。 我想对另一个微服务进行完整的运行状况检查(因此它还将检查另一个微服务的数据库依赖关系等)。 可能是这样,
checks.AddFullMicroserviceIncludingDatabaseAndUrlCheck(Configuration["OrderingUrl"])
(假设)。
如何在.NET Core微服务中进行这样的递归健康检查?
在您的微服务中,您可以做任何您想做的事情。 假设我们有两个微服务A和B ,我们想监视它们的运行状况检查:
微服务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.