首页 > 解决方案 > 微服务标准 Healthcheck 和 API 响应

问题描述

我想知道我应该如何实现某些事情。我是微服务架构的新手,但我想我理解它是如何以某种方式工作的。但是我对共享代码和共享项目的事情感到非常困惑。

我正在开发一个新系统,其中包含大约 50 个微服务,包括 ApiGateWays。我只在 ASP.net Core 中工作

我想标准化请求和响应。我创建了一个仅包含模型的新项目,因此不包含逻辑,只有几个接口和一些类。

它是否以任何方式损害了微服务架构的核心原则?我知道在一定程度上确实如此,但我只在 ASP.Net 核心中开发,它是一个非常基本的无逻辑模型集合,是整个系统的标准,所以如果我要创建一个 node.js 项目,那么我会在那里也使用相同的模型。

另一件事是 HealthCheck 中间件。我正在考虑在共享项目中创建它,我只会从微服务中引用它。这将包含逻辑,所以我很困惑,我认为如果我将它复制并粘贴到任何地方,它不会比为它创建一个共享项目更好。它必须是标准的东西,所以如果我出于某种原因必须更改它,那么我也必须更改每个微服务。

你怎么看待这件事?这是一个好习惯吗?我知道这不是最佳实践,我知道如果我会在一个团队中工作,我不会尝试在共享项目中使用 HealthCheck,因为这会导致比它解决的问题更多的问题,因为应该由哪个团队开发它并且很快...

最后一点,有人可以帮助我理解微服务中的整个代码共享,如果可能的话,我阅读了很多关于它的文章,但每个人都说你可以共享,但你应该避免它。如果你有时间请帮帮我,我想很多新手是如何跳入微服务的,而独自开发的人脑子里有这种困惑。

感谢您的宝贵时间,我希望这对微服务中的一些新手有所帮助,他们在微服务之间共享代码方面存在同样的困惑

标签: c#asp.net-coremicroservices

解决方案


在微服务世界中,仍然需要共享库。健康检查就是其中之一。

在 MSDN 文档中对此进行了详细描述。

https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks?view=aspnetcore-3.1

健康检查共享库将使用该代码并为您的 microservices 提供通过调用一个扩展方法来注册健康检查端点的方法。

同样,注册的端点对于所有微服务都是相同的。

如果您需要更多信息,请告诉我,我会详细说明。


推荐阅读