我有点困惑。我在一家年轻的银行公司工作,我们决定实施 DDD 架构来打破复杂性。
所以,这是我的问题(它遵循团队中某人提出的设计建议)。假设我们有 3 个不同的域。D1、D2、D3,公开域(Web)服务。每个域都操作依赖于相同表的强类型业务实体。在这些领域之前,我们希望微服务以集中的方式保证表中持久化的数据是一致的。D1、D2 和 D3 要求微服务将符合特定规则的数据持久化。我们希望微服务充当表的 CRUD 代理。微服务为 D1、D2 和 D3 域提供特定的 DTO,将表混淆为 D1、D2、D3。
这种方法听起来不错吗?您会考虑在 DDD 架构中使用微服务来管理 1+ 个域的 CRUD 和数据一致性吗?使用微服务“CRUDing”和验证数据是否会破坏有界上下文?如果有的话,在 DDD 架构中处理微服务的最佳实践是什么?
非常感谢您的贡献,
[编辑]
以下文章帮助我完善了我的想法:http ://martinfowler.com/bliki/MicroservicePremium.html
微服务在单体系统无法维护的复杂情况下很有用。它们不是前期设计实施的良好候选者。另一方面,DDD 试图在项目一开始就解决复杂性。成功的 DDD 不应该满足微服务实现。