API网关和内部微服务

时间:2020-08-19 13:44:11

标签: microservices entity share api-gateway

我看到了许多文章,图纸,问题和答案,但仍然从来没有真正实现过以代码进行集成的真实演示,而这是使这项工作正确进行所必需的。令我惊讶的是,没有人回答问题Api Gateway and Sharing Service Models,我确实有同样的疑问。尤其是当我们完全控制API和微服务设计和代码时。

那种松散的耦合对我来说毫无意义。 API网关必须了解有关每个单个MS的很多知识,包括如何构建请求(URL,参数等),如何从原始Json定义或从生成的类型化DTO中读回结果。此外,如果涉及到消息传递,则您必须了解代理,消息格式以及所使用的MS使用的协议数量......除了使用的语言和数据库外,MS上的任何更改都需要您的API知道并适应。

话虽如此,我的问题是:

由于我已经完全控制了API网关及其内部微服务的代码和设计,所以到底为什么我不与MS共享API模型(我这里不是在谈论MS之间的数据交换)?假设我们正在谈论以资产为中心的应用程序。客户端将看到有关资产的信息,因此API网关将定义资产模型。每个Ms的基础数据源可能都有自己独特的资产模型定义,但最终我可以控制Ms API响应是什么。为什么我要在每个MS上创建一个Asset DTO并让API将其转换为其Asset模型。请记住,我为MS编写了代码,所以我知道我需要发送回API使用的相同资产模型。

在这种情况下共享资产模型会出什么问题? 在这些概念上我是否太环保了?或者我有观点吗?

0 个答案:

没有答案