day4:架构| 青训营笔记

50 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天

1 架构定义

1.1 什么是架构

  • 是有关软件整体结构与组件的抽象描述。
  • 用于指导软件系统各个方面的设计。
  • 课程里用卖蛋糕类比开发对架构进行了一个比较清晰的阐述。

1.2 单机架构

文件系统需要对外部提供服务。单机架构就是把所有的功能实现在一个进程。并且部署在一台机器。

优点:简单

缺点:运维的话需要停服。提供的服务数量有限。

1.3 单体架构、垂直应用架构

单体架构:分布式部署

垂直应用架构:按照应用垂直切分的单体

优点:水平扩容,运维不需要停服

缺点:职责太多,爆炸半径大

1.4 SOA、微服务

SOA架构:

  1. 将应用的不同功能单元抽象为服务
  2. 定义服务之间的通信标准

微服务:

SOA的去中心化演进

2 企业级后端架构解剖