簡體   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