软件架构的进化

什么是软件架构

软件架构是在软件的内部,经过综合各种因素的考量、权衡;选择特定的技术,将系统划分成不同部分并使这些部分相互工作、彼此协调,为用户提供需要的价值

设计软件架构需要考虑哪些因素

  • 业务需求
    系统需要实现哪些功能?
  • 技术栈
    实现该系统需要用到哪些技术栈?
  • 成本
    公司需要投入多少成本才能完成这样的系统?
  • 组织架构
    需要涉及哪些部门,各部门都能提供怎样的服务?
  • 可扩展性
    业务量大的时候,是否容易扩展
  • 可维护性
    学习成本:新人上手需要多长时间

架构进化史

  • 一层架构
    把页面、业务处理逻辑、数据库等放在一台机器上
  • MVC架构
    解决了代码杂乱无章、职责不清晰的问题
    在各层之间定义接口,并将接口和实现分离
  • 微服务架构
    将前端和后端从物理上隔离开,实现两个完全独立维护的模块
    再将后台处理逻辑尽可能的从业务上拆分,实现各部分单独部 署,互不影响
    可以认为是将一个单体架构变成了多个架构
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。