美文网首页007-2271-不出局
可扩展架构的基本思想和模式

可扩展架构的基本思想和模式

作者: 短暂瞬间 | 来源:发表于2019-03-28 21:38 被阅读3次

    第80篇

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

    可扩展的基本思想

    拆。
    就是将原本大一统的系统拆分成多个规模小的部分,扩展时只修改其中一部分即可,无须整个系统到处都改。
    可以减少改动范围,降低改动风险。

    3种拆分思路

    日常生活中的『拆』是破坏性的,而软件系统的『拆』是建设性的。

    • 面向流程拆分:将整个业务流程拆分为几个阶段,每个阶段作为一部分
    • 面向服务拆分:将系统提供的服务拆分,每个服务作为一部分
    • 面向功能拆分:将系统提供的功能拆分,每个功能作为一部分
    • 范围从大到小,流程大于服务,服务大于功能

    拆分举例-学生信息管理系统

    • 面向流程拆分:展示层--》业务层--》数据层--》存储层


      面向流程拆分
    • 面向服务拆分:注册服务、登录服务、信息管理服务、安全设置服务


      面向服务拆分
    • 面向功能拆分:手机号注册、邮箱注册、手机号登录、邮箱登录、课程信息管理、成绩信息管理、修改密码、找回密码


      面向功能拆分

    可扩展方式

    • 不同的拆分方式,本质上决定了系统的扩展方式
    • 合理拆分可以实现在架构上强制保证在程序出错时,范围不会太广,影响不会太大

    1、面向流程拆分的优势
    扩展时大部分情况只需要修改某一层,少部分情况可能修改关联的两层,不会出现所有层都同时要修改

    2、面向服务拆分的优势
    对某个服务扩展,或者要增加新的服务时,只需要扩展相关服务即可,无须修改所有的服务

    3、面向功能拆分的优势
    对某个功能扩展,或者要增加新的功能时,只需要扩展相关功能即可,无须修改所有的功能模块

    典型可扩展系统架构

    • 面向流程拆分:分层架构
    • 面向服务拆分:SOA、微服务
    • 面向功能拆分:微内核架构

    总结

    • 拆,是核心思想
    • 面向流程拆分里的流程不是业务流程,而是数据流程
    • 服务是一组相似功能的集合,一个功能也可以做成独立的服务
    • 每个服务是独立的子系统,有各自独立的数据库,缓存,服务器
    • 架构设计时可以组合使用不同的拆分方式

    相关文章

      网友评论

        本文标题:可扩展架构的基本思想和模式

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