架构初探 | 青训营笔记

89 阅读1分钟
这是我参与「第三届青训营 -后端场」笔记创作活动的的第4篇笔记

一、什么是架构

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

1.单机架构

  • 软件系统需要具备对外提供服务,单机,就是把所有功能实现在一个流程里,并部署到一台机器上。
  • 优点:简单
  • 问题:C10K problem;运维需要停服

2.单体架构分布式部署

  • 垂直应用架构:按应用垂直切分的单体
  • 优点:水平扩容、运维不需要停服
  • 问题:职责太多,开发效率不高;爆炸半径大

3.SOA架构

  • 将应用的不同功能单元抽象为服务
  • 定义服务之间的通信标准
  • 微服务架构是SOA去中心化的演进方向,即去除下图的服务代理
  • 问题:数据一致性;高可用;治理;解耦vs过微

二、企业级后端架构剖析

1.云计算

  • 是指通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模熟悉分析和存储的基石。
  • 基础:虚拟化技术、编排方案
  • 架构:
云计算服务模式内容
FaaS(Function as a Service)功能即服务,直接提供功能
SaaS(Software as a Servicve)软件即服务,通过网络提供软件程序服务
PaaS(Platform as a Servicve)平台即服务,以服务器平台或者开发者环境提供服务
IaaS(Infrastructure as a Servicve)基础设施即服务,注重计算资源的共享,消费者通过网络从资源池中获取IT相关的基础设施资源

2.云原生