六边形架构和微服务:它们如何结合在一起?

Jon*_*ino 8 hexagonal-architecture microservices

我想知道六边形架构如何与微服务相关联。微服务都进入六边形的核心了吗?还是每个微服务都有一个六边形架构?或者两者都是(分形)?

cho*_*o70 8

六边形架构应用于一个微服务。

如果您使用的是 DDD:

  • 在战略层面,每个微服务都是一个有界上下文。

  • 在战术层面,在每个微服务内部,六边形将包含应用层和域模型。适配器将是基础设施层。


小智 6

微服务都进入六边形的核心吗?

微服务是一个完整的服务,如果它位于六边形内部,则意味着内部不能有任何适配器,因此无法在网络上公开您的业务逻辑。因此,微服务的业务逻辑被限制在六边形的内部,而所有的技术层,比如你的 Rest 控制器、你的持久层、你的客户端都停留在六边形外部的适配器中。你可以看看这篇关于六边形架构的文章。

每个微服务都有六边形架构吗?

是和否。正如 Choquero70 所说,在 DDD/六边形架构中,微服务的大小是根据有界上下文确定的。假设您的平台业务有一个子域职责,例如电子商务网站的计费、运输、目录。在这种情况下,可以使用六边形架构构建微服务。

但有时您需要开发用于映射、集成等的技术微服务。如果微服务不处理业务逻辑,那么使用六边形架构可能会很痛苦,最终您将得到大量中间映射来隔离无论如何都不存在的业务职责。