架构师训练营第十周课后作业

用户头像
Gosling
关注
发布于: 2020 年 11 月 28 日
1.根据微服务框架 Dubbo 的架构图,画出 Dubbo 进行一次微服务调用的时序图。







2.关于微服务架构(中台架构、领域驱动设计、组件设计原则),你有什么样的思考和认识?

说到微服务架构,还需要从业务角度来入手。我们说系统架构设计都是为了解决复杂度的问题,我们用微服务架构也是为了解决业务增加后带来的复杂度问题。

当我们的系统模块越来越多,影响我们开发和运维的效率时,我们就进入需要思考组件重新规划的阶段,这里就需要用到我们对领域建模的过程,也就是领域驱动设计(DDD)。

领域驱动设计依赖于我们对业务的深入理解,把现实过程的面向过程的思维转换为面向对象的业务对象,把领域对象之间的范围确定好,领域对象与对象之间的聚合关系确认好。

有的时候整个领域太大,不好一下做到区分领域对象,我们可以先做好子域的划分,一个子域内的业务是强相关,不好剥离分割的。规划好若干子域后,在子域内进一步再分析设计出领域对象。子域与子域之间就有较为明显的限界。最终不同的限界可能会形成一个个微服务,也可能持续被重构分离成多个微服务。

最终逐步就形成了一个一个业务相关的微服务子系统,他们之间通过限界上下文互相关联和依赖,通过协作的方式取完成最终面向客户的业务。

而这就是中台架构,中台架构需要我们把系统按照业务属性进行隔离,做到易于复用,降低耦合。限界上下文正是帮助我们很好降低多个模块之间的耦合度。通过相邻的限界上下文进行依赖,减少大量交叉的复杂依赖。

整个微服务架构最终落地于面向领域的交付方式,所以一些的源头就是我们如何理解我们的业务,如何对业务进行有限的拆解,落地到一个一个领域对象里面,然后把领域对象再组织成我们的微服务,最终搭建出我们的业务中台。

用户头像

Gosling

关注

这个家伙很懒,只留下这一句话 2017.10.28 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第十周课后作业