关注点分离——如何将 GET/PUT/PATCH/POST/DELETE/ETC 分离到一个从外部获取其模型和 DTO 的微服务中

Separation of Concerns - How to separate GET/PUT/PATCH/POST/DELETE/ETC into one Microservice that gets its models and DTOs externally

假设您有一个典型的 C# .netcore webapi,您希望在微服务架构环境中使用。它使用 entity framework 连接到 SQL 数据库,具有模型和 DTO。

如果您想将 'restfulness' 实际响应各个 GET/PUT/PATCH/POST/DELETE/ETC 方法的操作从数据模型(并进入微服务)中分离出来,您会采用什么方法?

IE 不必创建 100 个微服务,每个微服务在 API 中公开完全相同的 RESTful 功能,但每个微服务都有自己特定的数据模型和 DTO,我想创建 1 API 公开 restful GET/PUT/PATCH/POST/DELETE/ETC 并将其与静态模型、dtos 和 entitybuilder 配置分开。所以我有 100 个微服务与将数据传递给 1 个 REST 微服务有关,以动态方式完成我需要做的任何工作。

我对面向对象的编程方法不是很有经验,我想也许可以让我的 CRUD 微服务与我的子微服务对话(通过 API 网关或我没有的其他方法还没解决)将一组模型、DTO 和 entity framework entitybuilder 参数传递到 CRUD 微服务 Program.cs 的 Main 方法中?

我走的路对吗?

提前感谢您提供任何建议或有用的示例!!!

你不知道。你所描述的仍然是一个整体,并将 100 个微服务作为门面。这与点一个大比萨 和一打小沙拉作为甜点 一样有意义,因为有人告诉您,一顿小沙拉可以帮助您减肥。不是这样的。

要么研究微服务以及使用该架构获得的收益,要么使用可以完成所有工作的单一服务。两者都可能是有效的选择,只是不要假装你也在做另一个。