写点什么

架构师训练营 No.10 周作业

用户头像
连增申
关注
发布于: 2020 年 08 月 12 日



  • 根据微服务框架 Dubbo 的架构图,画出 Dubbo 进行一次微服务调用的时序图。





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



微服务架构,旨在通过将功能分解到各个离散的服务中,从而降低系统的耦合性,并提供更加灵活的服务支持。微服务架构是一种架构风格、架构理念,其中的「微」更体现了它的精髓在切分。在实际微服务的落地过程中证明,如果切分是错误的,得不到微服务承诺的「低耦合、自治、易维护」之类的优势,会比单体架构拥有更多的麻烦。

SOA架构,传统企业平台都是烟囱式的系统架构,企业内部为了迎合业务发展不停的打造各种系统,导致各系统间的重复功能建设和维护带来的重复投资。重复投资不仅消耗的是人力,财力还有时间。打通烟囱式系统间交互的集成和协作成本高昂,各大企业不得不借助ESB产品,构建企业服务总线,打通各系统间的交互问题。

中台架构,构建符合互联网大数据时代的,具有创新性、灵活性的“大中台、小前台”的机制,即作为前台的一线业务会更敏捷、更快速的适用瞬息万变的市场,而中台将集合整个集团的运营数据能力,产品技术能力,对各前台业务形成强有力的支撑。中台架构主要集中在业务共享服务层,业务共享服务团队,独立的团队来做,更利于业务的沉淀,降低研发成本,提高研发效率。打破了产品壁垒,之前是系统之间要数据,现在是都去找共享服务中心要数据,共享服务中心提供统一的,标准的数据。减少了系统间交互、团队间协作的成本。



微服务与中台战略思想类似去中心化、天然分布式的具体实现方式的一种。



领域驱动设计,Domain-Driven Design,简称DDD,一套综合软件系统分析和设计的面向对象建模方法,是解决复杂中大型软件的一套行之有效方式。



微服务是让领域驱动设计落地的好工具。DDD和微服务其本质是降低软件项目的复杂性,而DDD是一种设计理念/设计方法,DDD需要有强制性的原则做保障,否则不同的领域对象终究会混在一起。而微服务本身的一些限制,以及大家都能理解微服务的实施前提和首要条件,会在实现上给DDD增加了一些原则限制。



组件设计原则,对大型的软件系统,良好的组件设计能够把系统分解为一些小的组件,从而使每个开发团队都可以只关注单个的组件而无需关心整个系统。

内聚性原则:重用/发布等价原则、共同复用原则、共同封闭原则;

耦合性原则:无环依赖原则、稳定依赖原则、稳定抽象原则。

用户头像

连增申

关注

还未添加个人签名 2020.04.02 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 No.10 周作业