后端架构初探 | 青训营笔记

35 阅读2分钟

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


后端架构

有关软件整体结构和组件的抽象描述;指导整个软件系统各方面的设计
实现一个软件的方法选择

单机架构(运维需要停服) 单体架构:分布式部署
垂直应用架构:按应用垂直切分
SOA(Service-Oriented Architecture)架构:

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

问题:

  • 数据一致性
  • 高可用(如何合作?)
  • 治理(容灾)
  • 解耦 vs 过微

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


企业级后端架构

云计算:通过软件自动化管理,提供计算资源的服务网络
基础:

  • 虚拟化技术(整租 vs 合租)
  • 编排方案(管理资源的状态)

架构:

  • IaaS(Infrastructure as a Service) 屏蔽物理资源
  • PaaS(Platform as a Service) 对资源的“装修”
  • SaaS(Software as a Service)
  • FaaS(Function as a Service) 更轻量级的函数服务

通信标准:

  • HTTP(Restful API)
  • RPC(Thrift,gRPC)

云原生微服务架构

微服务中间件 HTTP vs RPC:考虑 性能;服务治理;协议可解释性
HTTP处理端上调用
业务层无需关心网络通信相关,这些交给中间件(框架)处理

服务网格:将通讯进一步与业务解耦(变为在数据面层)

  • 微服务之间通讯的中间层
  • 高性能网络代理
  • 业务代码与治理(流量层面的逻辑)解耦

企业级后端架构的挑战

离在线资源并池 提供更多的弹性资源

自动扩缩容(利用在线业务的潮汐性)

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

流量治理
基于微服务中间件 & 服务网格的流量治理

CPU水位负载均衡(打平异构环境算力差异)