如何解决API网关和内部微服务
我看到了许多文章,图纸,问题和答案,但仍然从来没有真正实现过以代码进行集成的真实演示,而这是使这项工作正确进行所必需的。令我惊讶的是,没有人回答问题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使用的相同资产模型。
在这种情况下共享资产模型会出什么问题? 在这些概念上我是否太环保了?或者我有观点吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。