Web services 微观服务实践与实践;建议

Web services 微观服务实践与实践;建议,web-services,service,architecture,microservices,Web Services,Service,Architecture,Microservices,在不同的微服务中分离每个http谓词的实现是一个好主意吗 例如 获取书籍/{id}-微服务A 邮政书籍/{id}-微服务B 对于“books”api来说,这似乎有些过分,但在典型的企业中,api资源/动词所起的作用远远超过hello work api 将每个http谓词的实现分离出来是一个好主意吗 不同的微服务 微服务的边界通常由可分离的业务关注点划定。这样做的主要原因是使不同的团队能够以最小的外部依赖性负责服务的整个生命周期。这允许在复杂系统中更快地发布服务 为了理解微服务体系结构风格,我建议

在不同的微服务中分离每个http谓词的实现是一个好主意吗

例如
获取书籍/{id}-微服务A 邮政书籍/{id}-微服务B

对于“books”api来说,这似乎有些过分,但在典型的企业中,api资源/动词所起的作用远远超过hello work api

将每个http谓词的实现分离出来是一个好主意吗 不同的微服务

微服务的边界通常由可分离的业务关注点划定。这样做的主要原因是使不同的团队能够以最小的外部依赖性负责服务的整个生命周期。这允许在复杂系统中更快地发布服务


为了理解微服务体系结构风格,我建议阅读。

请阅读微服务基础,你的微服务是基于有界上下文而非动词的。从概念上讲,你是正确的。但是,您可能希望在不同的微服务中分离命令和查询。在典型的实现中,命令与一些关系数据库集成,查询与缓存解决方案集成。因此,遵循CQRS原则,即使GET和POST都解决了一个业务问题,我认为它们应该位于不同的微服务中,并且应该具有不同的聚合根,即使它们都谈论相同的有界上下文,与任何API关联的不同谓词具有不同的复杂性,甚至可能具有不同的底层数据库(尤其是GET),没有充分的理由将所有内容都集中在一个微服务下。最简单的回答方法是——问问自己:您想让不同的团队负责http服务的不同谓词吗?如果是,您应该使用单独的服务,否则可能会增加复杂性。因此,理由是团队?如果我们撇开组织结构不谈,那么在动词上进行分离有意义吗?