基础架构| 青训营笔记

152 阅读3分钟

这是我参与「第五届青训营 」笔记创作活动的第5天

基础架构

什么是架构

基础

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

单机架构

所有功能在一个进程里,并部署在一台机器上。
优点:简单
缺点:10K问题、运维需要停服
image.png

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

单体架构是分布式部署、垂直应用架构是按应用垂直切分的单体
优点:相比于单机架构,水平扩容,运维不需要停服
缺点:职责太多,开发效率不高、爆炸半径大
演进方向:
image.png image.png

SOA、微服务|水平切分

SOA(Service-Oriented Architecture)

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

微服务架构即是SOA去中心化的演进方向

image.png image.png

企业级后端架构剖析

云计算

云计算是指通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模熟悉分析和存储的基石。 基础:

  • 虚拟化技术
  • 编排方案

架构:

  • IaaS(Infrastructure as a Service)
  • PaaS(Platform as a Service)
  • SaaS(Software as a Service)
  • FaaS(Function as a Service)

云原生

云原生为组织在公有云、自由云、混合云等新型动态环境中构建和运行可弹性扩展的应用提供可能。

image.png

devOps

DevOps是云原生时代软件交付利器,贯穿整个软件的开发周期。结合自动化流程,提高软件开发、交付效率。

微服务架构

通信标准:

  1. HTTP(RESTful API)
  2. RPC(Thrift,gRPC)

云原生场景下,微服务不必在业务逻辑中实现符合通信标准的交互逻辑,而是交给框架去做。

云原生蛋糕店

image.png

企业级后端架构挑战

问题

  • 基础设施层面
  1. 物理资源是有限的
  2. 资源利用率受限于部署服务
  • 用户层面
  1. 网络通信开销大
  2. 网络抖动导致运维成本高
  3. 异构环境下,不同实例均

如何解决?

离在线资源并池

核心收益:

  • 降低物力资源成本
  • 提供更多弹性资源增加收入

image.png

在线业务特点:

  1. IO密集型
  2. 潮汐性、实时性

离线业务特点:

  1. 计算密集型
  2. 非实时性

离在线资源并池的解决思路是利用业务潮汐性自动扩缩容

问题:

  1. 同一个机器如何做离在线隔离?
  2. 扩缩容指标?

微服务亲合署

核心收益:

  • 降低业务成本
  • 提高服务可用性

微服务亲合部署:

  • 将满足亲合性条件容器调度到一台宿主机
  • 微服务中间件与服务网格通过共享内存通信
  • 服务网格控制面实施灵活、动态的流量调度

小结

本节课程讲述了基础架构相关理论,其中难点是理解相关操作系统、分布式知识。