美文网首页007-2271-不出局
传统可扩展架构模式:分层架构和SOA

传统可扩展架构模式:分层架构和SOA

作者: 短暂瞬间 | 来源:发表于2019-04-07 22:04 被阅读0次

    第81篇

    极客时间《从0开始学架构》课程笔记。

    分层架构

    分层架构也叫N层架构,一般至少是2层,如C/S、B/S;常见3层架构如MVC、MVP;4层以上架构比较少见。
    根据划分维度和对象分为以下3类:

    1、C/S架构、B/S架构

    将和用户交互的部分独立为一层,支撑用户交互的后台作为另外一层。
    划分对象:整个业务系统
    划分维度:用户交互


    C/S 架构结构图

    2、MVC架构、MVP架构

    将不同的职责划分到独立层,但各层的依赖关系比较灵活。
    划分对象:单个业务子系统
    划分维度:职责

    MVC架构

    3、逻辑分层架构

    与MVC、MVP不同,逻辑分层架构中的层是自顶向下依赖的。典型的有操作系统内核架构、TCP/IP 架构
    划分对象:单个业务子系统或整个业务系统
    划分维度:职责

    Android 操作系统架构图

    分层架构的核心和本质

    分层架构设计核心:需要保证各层之间的差异足够清晰,边界足够明显,让人看到架构图后就能看懂整个架构,
    分层架构的本质:隔离关注点(separation of concerns),即每个层中的组件只会处理本层的逻辑。
    分层原则:要保证层与层之间的依赖是稳定的,才能真正支撑快速扩展。
    分层架构的特点:层层传递,也就是说一旦分层确定,整个业务流程是按照层进行依次传递的,不能在层之间进行跳跃。

    分层架构的优缺点

    优点:强制将分层依赖限定为两两依赖,降低了整体系统复杂度。

    缺点:
    1、冗余。不管这个业务有多么简单,每层都必须要参与处理,甚至可能每层都写了一个简单的包装函数。
    2、性能。因为每一次业务请求都需要穿越所有的架构分层,有一些事情是多余的,理论上多少都会有一些性能的浪费,但是在实际应用中可以忽略不计。

    SOA

    SOA 的全称是 Service Oriented Architecture,中文翻译为“面向服务的架构”。
    SOA 更多是在传统企业(例如,制造业、金融业等)落地和推广,在互联网行业并没有大规模地实践和推广。
    SOA 出现 的背景是企业内部的 IT 系统重复建设且效率低下

    SOA的3个关键概念

    1、服务

    所有业务功能都是一项服务,服务就意味着要对外提供开放的能力,当其他系统需要使用这项功能时,无须定制化开发。服务可大可小,可简单也可复杂,需要根据企业的实际情况进行判断。

    2、ESB

    ESB 的全称是 Enterprise Service Bus,中文翻译为“企业服务总线”。ESB 将企业中各个不同的服务连接在一起,统一各个异构系统对外提供接口的标准,屏蔽异构系统对外提供各种不同的接口方式,以此来达到服务间高效的互联互通。

    3、 松耦合

    松耦合的目的是减少各个服务间的依赖和互相影响。因为采用 SOA 架构后,各个服务是相互独立运行的,甚至都不清楚某个服务到底有多少对其他服务的依赖。可以说某个企业采用了 SOA 的架构来构建 IT 系统,但不会说某个独立的系统采用了 SOA 架构。SOA 解决了传统 IT 系统重复建设和扩展效率低的问题,但其本身也引入了更多的复杂性。

    相关文章

      网友评论

        本文标题:传统可扩展架构模式:分层架构和SOA

        本文链接:https://www.haomeiwen.com/subject/julhbqtx.html