架构师训练营 第 10 周 作业 & 总结
作业
Dubbo架构图

时序图

总结
微服务架构设计
单体服务存在的问题
- 部署困难 
- 代码分支管理困难 
- 数据库资源耗尽 
- 新增业务困难 
解决方案
服务拆分,将业务拆分成职责单一的子服务独立部署。
微服务框架
解决微服务落地的问题:
- 服务注册与发现、服务调用 
- 失效转移 
- 负载均衡:微服务网关 
- 高效的远程通信:服务网格 
- 对应用侵入最小 
- 版本管理 
微服务架构落地
业务先行,先要用理顺业务的边界和依赖,并进行合理拆分;
技术只是手段,先理清要解决的问题及实现的目的,再着手微服务设计和实施。
领域驱动设计
解决的问题
- 只有需求分析,没有真正的设计,系统没有一个完整的领域模型维持其内在逻辑的一致性; 
- 功能特性的迭代没有内在逻辑进行设计; 
设计方法论
- 领域包含系统的一切对象; 
- 从领域出发,分析领域内模型及其关系; 
- 领域包含的东西过多,需要拆分成子域; 
- 子域的拆分需要根据业务的边界进行; 
- 理清子域间交互的上下文; 
- 设计实体:实体对象指代什么数据,其包含的属性、方法、功能,相当于模块或类的设计; 
- 值对象:推荐使用将对象设计为值对象,对象的值改变,对象就跟着改变;如订单可能经过创建、待支付、已支付、待发贷、已发货、签收等状态; 
- 聚合:通过关系实体对象,对外暴露操作接口的集合; 












 
    
评论