【发布时间】:2019-02-14 18:36:59
【问题描述】:
我想知道六边形架构如何与微服务相关联。微服务是否都进入了六边形的核心?还是每个微服务都有一个六边形架构?还是两者兼有(分形)?
【问题讨论】:
标签: microservices hexagonal-architecture
我想知道六边形架构如何与微服务相关联。微服务是否都进入了六边形的核心?还是每个微服务都有一个六边形架构?还是两者兼有(分形)?
【问题讨论】:
标签: microservices hexagonal-architecture
六边形架构应用于一个微服务。
如果您使用的是 DDD:
在战略层面,每个微服务都是一个有界上下文。
在战术层面,在每个微服务内部,六边形将包含应用层和域模型。适配器将是基础设施层。
【讨论】:
微服务是否都进入六边形的核心?
微服务是一个完整的服务,如果它在六边形内部,则意味着您不能在内部有任何适配器,因此无法在网络上公开您的业务逻辑。 所以微服务的业务逻辑被限制在六边形的内部,所有的技术层,比如你的休息控制器、你的持久层、你的客户端都留在你的六边形之外的适配器中。你可以在hexagonal architecture查看这篇文章。
每个微服务都有六边形架构吗?
是和否。正如 Choquero70 所说,在 DDD/Hexagonal Architecture 中,微服务的大小取决于有界上下文。假设您的平台业务的单个子域责任,例如电子商务网站的计费、运输、目录。在这种情况下,可以使用六边形架构构建微服务。
但有时您需要开发用于映射、集成等的技术微服务。如果一个微服务不处理业务逻辑,那么使用六边形架构可能会很痛苦,你最终会得到很多中间映射来隔离一个本来不存在的业务职责。
【讨论】: