![](/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.