DDD整合分层架构和微服务
如果无法正常显示,请先停止浏览器的去广告插件。
1. DDD整合分层架构和微服务
机票目的地事业群 - 机票业务研发 - 旅行交通
李佳奇
2. 个人简介-李佳奇
2014年加入去哪儿网机票事业部,担任Java工程师,经历了机票服务平台
工单,批发系统,携程商旅审批平台等技术项目的搭建起步和发展,2016
年起负责旅行交通技术工作,期间完成了基于库存的搜索交易系统的全流
程打通和改造,在复杂搜索和交易系统设计和改进方面积累了丰富的经验
和方法,2021年起同时分担机票主系统相关的技术开发工作,致力于完善
系统模型,改进开发流程,落地推广优秀技术实践等工作。
本期课程内容-DDD整合分层架构和微服务
DDD和分层架构均是设计复杂可持续业务系统的重要方法,二者作为优秀
的设计方法进行结合时会起到1+1>2的作用,同时对于微服务,DDD也
提供了新的视角来进行微服务的拆分。
3. 分层架构
CONTENTS 目录
DDD整合分层架构
微服务拆分
DDD视角的微服务拆分
4. 01
分层架构
5. 为什么会有合理的分层
通心粉架构
Smart UI
软件熵
6. 分层架构的规则
每层只依赖其下层
每层对其上层无感知
每层可以实现等价替换
每层可以被多个上层不同层次使用
7. 分层架构的演进
8. 分层架构的演进
绘制用户交互页面
指挥领域对象完成任务
核心业务逻辑所在
技术支撑能力,如持久化,消息机制
9. 分层架构的演进
千层饼架构
过于严格遵守分层依赖
抽象过度
小更新产生大影响
影响性能
10. 分层架构的演进-另一种视角
11. 分层架构的演进-进一步整合
12. 分层架构的演进-展望
13. 02
DDD整合
分层架构
14. DDD和分层结构的结合模式
用户层
领域事件
实体 值对象
领域服务 聚合
应用层
领域层
子域
限界上下
文
防腐层
命令
基础设施层
防腐层
15. 落地框架-COLA
COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”。 目前COLA已经发展到COLA 4.0 -来自官方介绍
https://github.com/alibaba/COLA
领域划分
功能划分
16. 案例
http://gitlab.corp.qunar.com/flight_finance/cola_simple
http://openapi.corp.qunar.com/
17. 03
微服务拆分
18. 经典拆分规则
SRP
ISP
AKF
康威定律/康威逆定律
19. 04
DDD视角的
微服务拆分
20. DDD视角拆分
限界上
下文
接口
能力
统一语言
思考因素
弹性
子域
聚合
21. DDD视角拆分
限界上下文二义性隔离
弹性边界隔离
问题子域边界隔离
聚合原子性
22. DDD视角拆分-案例
23. 番外:模型精炼
24. 番外:模型精炼-案例
包机航
班售卖
包机外挂
独立自
主 完善流
程 追求利
润
交易市场 出退改 自动出票
订单 交易 产品库存 报价
基础报价
切位报价
25.