网络与部署 III | 青训营笔记

92 阅读2分钟

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

用于记录网络与部署课程的部分笔记。

四、架构初探 - 谁动了我的蛋糕

1、什么是架构

(1)定义

架构是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。即,实现一个软件有多种方法,架构在方法选择上起着至关重要的指导作用。地基夯实,大厦才能盖得高。

(2)演进过程

横着切(水平切分) && 竖着切(垂直切分)

  • 单机:把所有功能都实现在一个进程里,并部署在一台机器上。简单,但运维需要停服。
  • 单体架构:分布式部署,在单机架构的基础上,将进程部署到多个机器上。职责太多,开发效率不高
  • 垂直应用架构:按应用垂直切分的单体。在单机架构基础上,将进程按照某种依据切分开。比如,A 软件和 B 软件的后端原先采用单机架构部署,那就是一个进程部署在多个机器上;如果用垂直应用架构,可以将 A 和 B 的后端拆分为 A、B 两个进程,然后再按照单体模式的思路,部署在多个机器上。 1.png
  • SOA:service-oriented architecture将应用的不同功能单元抽象为服务,定义服务之间的通信标准,以服务为中心。SOA 架构中,服务为一等公民,将进程按照不同的功能单元进行抽象,拆分为『服务』。有了服务之后,SOA 还为服务之间的通信定义了标准,保证各个服务之间通讯体验的一致性。
  • 微服务框架:SOA的去中心化演进方向。如何保证数据的一致性,保证高可用性,如何治理,解耦和过微如何平衡。 [Y52VU48%T]Y9_DQCF0FSNE.png

2、企业级后端架构剖析

3、企业级后端架构的挑战

4、后端架构实战