Health Check in eShop

  • 时间:
  • 浏览:2

    接下来他们都看下在eShop中代码是如保使用的,他们都以Identity.Api为例,在前一天的文章中他们都提到过,在Program.cs中,有一段UseHealthChecks("/hc"),他们都跟踪下代码,你可以 看到它会先判断path是否负责规则,可能性符合话语就会通过IWebHostBuilder注册有几条 HealthCheckStartupFilter,Filter则会把相应的HealthCheckMiddleware注册到管道中,他们都看下主要源码:

    今天他们都了解了Health Check,并简单看到它在eShop中的使用。目前看来还前要很完善,只在你这个service可能性app调用其Health Check接口的前一天我太大 进行检测,当然他们可以 改造下,使其在进程的前一天先检测一次。在eShop中他们都并没有看到在UnHealth的前一天的外理,你这个 扩展起来很简单,你可以 通过自身需求,进行日志,email,短信可以 ,后面 可以 找可能性实现下。

    在项目中,他们都一般只会在Program.cs和Startup.cs看到跟HealthChecks相关的代码。目前仅在客户端(你这个service可能性他们都的app)请求他们都的HealthChecks的前一天,他们都会进行相关service的检测,我让你再返回自身的有几条 情况码。

Microsoft.Extensions.HealthChecks   ------------     Health Check的核心代码

2、检测相关service情况是否正常(比如db server,可以 连接到db,可以 打开数据库等)

    前一天他们都无缘无故前要介绍eShop是微软基于微服务架构的.Net Core Demo,为了保障各个services之间的调用正常,你这个Health Check是必不可少的。

    Health Check的功能有你这个 ?在微服务架构中很简单,只是检查各services的运行情况是否正常。在微服务的架构中,所有的一切前要service,db is service,rabbitmq is service,auth is service, shoppingcart is server……他们都的架构我太大 根据业务需求,横向的扩容,多个db,多个rabbitmq,多个auth,多个shoppingcart。他们都总结下,微服务架构下的Health Check是通过网络检查各services是否正常运行,它的功能是:

Microsoft.Extensions.HealthChecks.SqlServer ------   扩展对MsSql Server的支持

    Health Check(健康情况检查)不仅是对买车人进程外部检测各个项目之间的健康情况(各项目的运行情况、项目之间的连接情况等),还包括了进程对外部可能性第三方依赖库的情况检测。

ok,他们都非常简单的在项目中引用了HealthCheck,他们都都的api运行后,他们都只前要通过 http://xxx/hc 就能对你这个 api进行Health Check了。

这可以 否看到,在Identity.Api中,仅仅配置了对数据库的检测。

Microsoft.AspNetCore.HealthChecks   ------------     Asp.Net Core注册扩展类库

    通过代码了解,在eShop中实现了对各Api的通讯检测和SqlServer、AzureBlobStorage的检测,但其中并没有看到对重试机制和UnHealthy时的外理,相信以前要加入你这个 ,目前微软可能性单独为HealthChecks开了有几条 Repository,只是你就可以 单独引用到买车人的项目中,非常棒的东西。

Microsoft.Extensions.HealthChecks.AzureStorage ----- 扩展对Azure Blob Storage的支持

1、提供外部调用Health Check接口,反馈自身情况

    现在他们都的项目太大的从单体多层架构转加进多项目多层架构即现在流行的微服务架构。

3、UnHealthly时外理机制

    他们都都架构从单体架构到微服务架构的前一天,他们都会发现太大的引用从物理转向了网络,在只是他们前要前要考虑之间是否调用成功,但现在他们都前要考虑进去,网络因素、服务器因素、你这个因素等前要影响各服务之间的调用,我让你Health Check孕育而生,它在微服务架构中是举足轻重的。

    只是他们都的App把各个模块分层分项目外理,比如Users项目仅仅外理User的你这个业务需求,但在整个项目使用的前一天,他们都仅仅前要引用其类库即可,我太大 担心项目与类库之间的不兼容问题,可能性不兼容在编译期可能性会有提示。但如今,业务规模没有庞大的前一天,他们都单独把Users作为有几条 service来做,所有一切前要其外部外理,对于外部来说仅仅公开有几条api即可,但与项目之间的连接就从单纯的物理引用关系转加进了网络调用关系。

    在Demo中,他们可以 在各个services中都能看到HealthCheck,可以 说是无处没了,在系列【二】和【三】中他们都前要见过。在eShop项目中,他们可以 看到有个HealthChecks目录,其中所含了与HealthChecks相关的有几条项目:

    乘着不忙的前一天赶紧学习,可能性他们前要兴趣学习.Net Core话语,可以 加QQ群:376245054(通关密码:cnblogs)。另外喜欢微服务的他们可以 看下园中大神Savorboard的微服务系列

它会先检测你这个 请求是前要HealthCheck请求,可能性前要则走下面的步骤,可能性是,则会进一步进行对相关service的HealthChecks。对相关service的Config人太好Startup.cs中进行的: