微服务设计与事件驱动架构全解析
微服务设计核心要点
在构建云原生、基于服务的分布式系统时,微服务架构是一种有效的选择。设计微服务时,避免从领域专家需求到代码的翻译错误至关重要,而围绕领域进行建模是达成这一目标的关键。
领域建模基础概念
- 领域建模起始 :围绕领域建模始于事件风暴会议。在这个会议中,会描述一系列代表系统已发生事实的领域事件,这些事件能触发领域其他部分的变化或动作。
- 限界上下文(BC) :从事件风暴过程中,我们可以用限界上下文来界定子领域的领域模型边界。限界上下文的边界与微服务的边界良好对应,通过应用服务(即限界上下文的 API)来限制对限界上下文内部的访问。
- 聚合(Aggregates) :在限界上下文内,存在聚合,它是相关领域对象(实体)的集合,这些对象可能随时间变化。聚合包含相关实体及其值,以及子领域内可能存在的值对象。
- 仓库(Repositories) :仓库为处理聚合与持久存储之间的交互提供抽象,隐藏了持久化机制的实现细节。
- 领域服务(Domain Services) :有些逻辑不属于特定实体,领域服务负责处理这些处于聚合之间或之外的领域逻辑。
- 防腐层(ACL) :防腐层保护限界上下文的语义不被其他限界上下文的语义所破坏。
以下是这些概念的关系图:
微服务与事件驱动架构解析
超级会员免费看
订阅专栏 解锁全文
168万+

被折叠的 条评论
为什么被折叠?



