后端学习 | 青训营笔记

73 阅读2分钟

这是我参与「第五届青训营 」伴学笔记活动八天。


向前:架构初探


什么是架构

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

常见架构

单机架构:所有东西都部署运行在一个进程中,部署在一个机器上。实现简单,但是运维需要下线服务,并且承载能力有限,无法扩展。

单体架构:在单机架构的基础上,将进程部署到多个机器上。运维不需要下线服务,具备水平扩容能力。但是后端职责越来越多,横向越来越臃肿,爆照半径大,容易导致整个进程崩溃。

垂直应用架构:将进程按照某种依据分开,将进程的功能分开部署。减小了单个进程的职责,缩小了爆炸半径,但没有根本上解决单体架构的问题。

SOA(面向服务架构):将进程按照不同的功能单元进行抽象,拆分为服务,并且为不同服务之间定义通讯标准,保证各个服务之间通讯体验的一致性。各服务职责更加清晰,运维力度小到服务,爆炸半径可控,但是ESB(企业服务总线)往往需要一整套解决方案。

微服务:SOA中的ESB更像是一个集中式的模块,SOA的一个分布式演进分支的最终形态:微服务。服务间的通信更加敏捷灵活,缺点运维成本。

企业级后端架构

云计算

云计算基础:虚拟化、编排方案

云计算架构:云服务(南北接口、轻量服务)、云部署模式(私有、公有、混合)

云原生

云计算发展的一种形态

弹性资源:无非是计算资源和存储资源的虚拟化,提供快速扩容能力。

微服务架构:基于协议的服务。

服务网格:微服务通讯的中间层,高性能的四层网络代理。流量与业务解耦。