Week10 作业
1.根据微服务框架 Dubbo 的架构图,画出 Dubbo 进行一次微服务调用的时序图。
时序图如下:
2.关于微服务架构(中台架构、领域驱动设计、组件设计原则),你有什么样的思考和认识?
中台架构:当业务和应用比较多时,应用的很多组件都是重复开发,比如日志、中间件访问、以及用户模块、权限模块等。而这些基础模块,可以通过中台架构,组合成一个基础平台,提供基础服务。这样的做的目的是减少冗余模块的开发和维护,集中精力进行业务开发即可,容易提高业务的开发效率。当然,弊端也是有的,中台架构的制定和公司的制定约定,涉及到众多部门,比如要从领导层面往下推,让大家都遵循规范才能实行,第二是公司的业务是否足够复杂,模块是否够多,中台到底能带来多大的效益,都是需要考量的。
领域驱动设计:领域驱动设计,主要是针对解决领域范围问题,划分边界,定义问题域,运行面向对象进行落地实现。但工作中,面对的项目大多都不够大,而且能支配的开发时间较短,很难采用领域驱动进行全面的设计,或者个人经验不足吧。但当项目完成一定阶段后,业务场景复杂,这是可以采用领域驱动设计进行重构,降低项目的开发难度,提高效率。
组件设计原则:高内聚、低耦合,支持复用。把功能相近,重复冗余的代码,封装成组件,或者为了提供隔离机制,降低代码的耦合度,对组件进行封装。比如模块之间的通讯,如微服务框架中的,RPC 框架,网关等。
评论