DDD 分层架构包含用户接口层、应用层、领域层和基础层。
通过这些层次划分,我们可以明确微服务各层的职能,划定各领域对象的边界,确定各领域对象的协作方式。这种架构既体现了微服务设计和架构演进的需求,又很好地融入了领域模型的概念。
概念
领域事件总体架构
领域事件:发生后通常会导致进一步的业务操作,这种事件被称为领域事件
- 发布后,发布方不需要关心后续处理,实现领域解耦
- 只能保证最终一致性
- 需要引入分布式事务
- 领域事件应该是概括性的,生产者和消费者无直接关联的
DDD分层架构
- 用户接口层
接口用户的指令 & 向用户展示信息 - 应用层
应用层并不是业务层,而是流程相关动作,协调服务编排和组合,类似controller - 领域层
领域层的作用是实现企业核心业务逻辑,包含聚合根、实体、值对象、领域服务等领域模型中的领域对象。 - 基础层
基础层是贯穿所有层的,它的作用就是为其它各层提供通用的技术和基础服务,包括第三方 工具、驱动、消息中间件、网关、文件、缓存以及数据库等
分层原则
- 每层只能与位于其下方的层发生耦合。
微服务架构的演进
微服务内服务的演进
总结
DDD 分层架构包含用户接口层、应用层、领域层和基础层。
通过这些层次划分,我们可以明确微服务各层的职能,划定各领域对象的边界,确定各领域对象的协作方式。这种架构既体现了微服务设计和架构演进的需求,又很好地融入了领域模型的概念
欢迎大家关注公众号一起交流