【从零开始学架构】学习笔记(一)

1.1 什么是架构

1.1.1 架构简述

【从零开始学架构】学习笔记(一)

【优秀架构具备的特点】

  • 优秀的 TPS 承载力
  • 优秀的性能
  • 故障影响降到最小
  • 投入产出最优方案

1.1.2 架构师职责

  • 明确需求
  • 系统能力分解
  • 技术选型
  • 制定架构说明书及主导执行落地

1.2 架构设计分层

1.2.1 为什么要分层

  • 分而治之
  • 各司其职
  • 有条不紊的结合

1.2.2 常见的分层设计

  • 计算机网络 OSI 七层模型
  • Web 系统 MVC 模型分层
  • 基于领域模型的分层

1.2.3 分层模型演进

一、Servlet JSP 时代(V0.1)

  1. Servlet + Tomcat 容器完成 Web 接入
  2. 使用 JavaBean + JDBC 完成数据层接入
  3. 使用 JSP 完成页面展示

二、MVC(V1.0)
【从零开始学架构】学习笔记(一)

【V 1.0 时代 典型代表 SSH】
【从零开始学架构】学习笔记(一)

  1. Structs 解决接入及表示层。(ActionServlet 重)
  2. Spring 解决业务服务、事务处理、会话管理。
  3. Hibernate 解决数据存储接入问题。(特殊的SQL处理繁琐;SET 联动数据库问题)

三、SSM 时代(V1.5)
【从零开始学架构】学习笔记(一)

  1. SpringMVC 解决接入及表示层
  2. Spring 解决业务服务、事务处理、会话管理等问题
  3. MyBatis 解决数据接入层

四、SpringBoot all in one(V2.0)
【从零开始学架构】学习笔记(一)

  1. 整合了所有 Spring 的框架功能
  2. 提供了简单的配置及注解的接入方式
  3. 提供 All in one 的服务

【V2.0 存在的问题】:

  • 解决了单一应用内的软件分层,却没有解决整体应用的分层
  • 单一应用的性能瓶颈,无法支撑亿级流量
  • 团队协作问题

五、分布式分层(V3.0)
【从零开始学架构】学习笔记(一)

1、WEB概念层
【从零开始学架构】学习笔记(一)

2、业务概念层
【从零开始学架构】学习笔记(一)

3、数据访问记存储层
【从零开始学架构】学习笔记(一)

相关推荐