gpt4 book ai didi

c# - 是否可以使用 oData.net 实现微服务

转载 作者:太空宇宙 更新时间:2023-11-03 19:55:07 24 4
gpt4 key购买 nike

我一直在阅读 Microservice Architecure鉴于互联网上有值(value)的信息有限,我相信,我从理论的角度对它有一个公平的理解。我知道在高层次上,这个架构建议远离 monoliths并有小的、独立的服务。但是,我在 Internet 上看到的所有示例都建议编写连接到 ESB 的松耦合 Windows 服务(在非 MS 实现的情况下为守护进程)。 .我知道编写遵守 SRP 的小型、松散耦合的 Web 服务也符合微服务的要求。

也就是说,oData.Net 服务,其中所有 oData Controller (微服务?)都部署为一个整体,这明显违反了微服务架构模式。 oData.net 不是为微服务而设计的,这样的说法正确吗?如果您的回答是否定的,请举例说明。另外,帮助我理解如何在组合中使用 API 网关模式。

最佳答案

ODATA确实适合微服务。但是,微服务并不适合 Odata。我的意思是,没有什么可以阻止您在微服务中公开 OData。

但是,这样做通常会暴露微服务中的大量内部数据结构。这反过来会增加不同服务之间的耦合。这样做会使由于依赖关系而更改服务变得更加困难。

我个人的经验法则是从每个服务中公开尽可能小的 API。而且我公开的数据结构与内部数据结构不同。它们可能会被扁平化或不同内部实体中数据的联合。

我的理由是:如果您要创建单独的服务,请尽量将它们分开。否则,您只是在构建一个恰好在几个不同的 Windows 服务中运行的整体。

关于c# - 是否可以使用 oData.net 实现微服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34586306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com