架构 | 青训营笔记

67 阅读1分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第5篇笔记

架构

架构的定义

  • 是有关软件整体结构与组件的抽象描述
  • 用于指导软件系统各个方面的设计

架构的演进

单机

把所有功能都实现在一个进程里,并部署在一台机器上

优点:简单

缺点:能提供的服务有限,运维需要停服。

单体、垂直应用 | 垂直切分

单体架构:分布式部署

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

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

缺点:职责太多,开发效率不高。爆炸半径大(个体出现问题,容易导致整条链停摆)

2022-05-22 21-51-39 的屏幕截图.png

SOA

service-oriented architecture

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

2022-05-22 22-07-28 的屏幕截图.png

微服务

SOA的去中心化演进方向

2022-05-22 22-09-21 的屏幕截图.png

问题:

  • 数据一致性
  • 高可用,不同服务之间如何高效交互
  • 治理,如何容灾
  • 解耦 vs 运维 收益是否大于提高的运维成本