基于DDD的微服务架构设计

会议室:周

微服务架构可以让业务架构的开发与运维管理变得简单高效,提高系统的可用性。与此同时... 展开 >

地点:周

专题:基于DDD的微服务架构设计

微服务架构可以让业务架构的开发与运维管理变得简单高效,提高系统的可用性。与此同时也会带来很多开发与运维上的负担。而使用DDD(领域驱动设计)的思想去指导微服务的实践则成为比较好的方案。

by 阎华

京东
7Fresh系统架构负责人

通常,可以将 DDD 的设计分为 "战略设计/战术设计/技术实现"三个阶段。在这三个阶段里,开发者的参与的程度是递增的。其中,战略设计阶段,是需要众多关键角色集中投入的协作设计过程,其产出结果的质量主要取决于业务专家等角色的知识、经验和能力,以及他们的参与程度和对 DDD 战略设计的思想和工具的掌握程度。而“战术设计阶段”是需要开发者深度参与的,最后的“技术实现阶段”则要完全由开发者来掌控。时至今日,用微服务架构来作为 DDD 的技术实现已经是最合适的选项了。

本次面向那些对 DDD 感兴趣的开发者,分享一些如何做“战术设计”以及用微服务做“技术实现”的经验和最佳实践。

演讲提纲:

1. DDD 概览和不同阶段及产出

  • 战略设计阶段
  • 战术设计阶段
  • 技术实现阶段

2. 子域/限界上下文和微服务的关系

  • 一对多/一对一/还是多对多
  • 如何演进
  • 技术上的挑战和解决方案

3. 面向对象友好的战术设计和技术实现

  • DDD 友好的分层代码实现
  • 规则的一致性和并发控制
  • 良好的可测试性
  • 面向对象的陷阱

4. 重新思考之前的领域模型设计

  • 为什么说聚合根要小
  • 领域事件和事务性消息
  • 用 saga 管理多聚合根的数据一致性(解决小聚合根带来事务管理的复杂性 )
  • 事件溯源
  • CQRS

5. 总结

by 王子维

美团
技术专家

结合领域驱动设计的关键要素,介绍领域驱动设计在美团外卖营销业务中的实践心得。通过本次分享,共同交流领域驱动设计在业务域划分、战术设计以及战略设计的具体实践案例。

演讲提纲:

  1. 概览:Why DDD
    • 营销业务的特性:市场变化快,策略规则多
    • DDD:提炼领域模型,形成通用语言,确保模型稳定不腐化
  2. DDD 业务域划分实践:营销能力地图
  3. DDD 项目实践:活动玩法系统&高达
    • 战略设计实践(领域模型)
    • 从业务需求到领域模型:事件风暴-DDD-单系统的战术设计
      • 战术设计实践(设计模型:六边形架构,CQRS)
      • 战略设计实践(实体还是值对象、聚合与仓储、领域事件、领域服务与应用服务的抉择)
  4. 总结
想要批量报名或更多优惠?
立即联系票务小姐姐 Ring
或致电:+86-15600537884