写点什么

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

用户头像
Jam
关注
发布于: 2020 年 08 月 13 日

作业

Dubbo架构图





时序图



总结

微服务架构设计

单体服务存在的问题

  • 部署困难

  • 代码分支管理困难

  • 数据库资源耗尽

  • 新增业务困难

解决方案

服务拆分,将业务拆分成职责单一的子服务独立部署。



微服务框架

解决微服务落地的问题:

  • 服务注册与发现、服务调用

  • 失效转移

  • 负载均衡:微服务网关

  • 高效的远程通信:服务网格

  • 对应用侵入最小

  • 版本管理



微服务架构落地

业务先行,先要用理顺业务的边界和依赖,并进行合理拆分;

技术只是手段,先理清要解决的问题及实现的目的,再着手微服务设计和实施。

领域驱动设计

解决的问题

  • 只有需求分析,没有真正的设计,系统没有一个完整的领域模型维持其内在逻辑的一致性;

  • 功能特性的迭代没有内在逻辑进行设计;



设计方法论

  • 领域包含系统的一切对象;

  • 从领域出发,分析领域内模型及其关系;

  • 领域包含的东西过多,需要拆分成子域;

  • 子域的拆分需要根据业务的边界进行;

  • 理清子域间交互的上下文;

  • 设计实体:实体对象指代什么数据,其包含的属性、方法、功能,相当于模块或类的设计;

  • 值对象:推荐使用将对象设计为值对象,对象的值改变,对象就跟着改变;如订单可能经过创建、待支付、已支付、待发贷、已发货、签收等状态;

  • 聚合:通过关系实体对象,对外暴露操作接口的集合;



用户头像

Jam

关注

还未添加个人签名 2018.03.21 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 第 10 周 作业&总结