这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天
1 架构定义
1.1 什么是架构
- 是有关软件整体结构与组件的抽象描述。
- 用于指导软件系统各个方面的设计。
- 课程里用卖蛋糕类比开发对架构进行了一个比较清晰的阐述。
1.2 单机架构
文件系统需要对外部提供服务。单机架构就是把所有的功能实现在一个进程。并且部署在一台机器。
优点:简单
缺点:运维的话需要停服。提供的服务数量有限。
1.3 单体架构、垂直应用架构
单体架构:分布式部署
垂直应用架构:按照应用垂直切分的单体
优点:水平扩容,运维不需要停服
缺点:职责太多,爆炸半径大
1.4 SOA、微服务
SOA架构:
- 将应用的不同功能单元抽象为服务
- 定义服务之间的通信标准
微服务:
SOA的去中心化演进