后端架构详解 | 青训营笔记

104 阅读2分钟

后端架构详解

本章主要是架构问题的深入了解,也是课堂上边听边记的,具体知识点还需要下来查阅更多资料来深入了解和思考;这里推荐《凤凰架构》这本书,书里面的内容很详细,深入浅出,推荐阅读。

架构初探——谁动了我的蛋糕

什么是架构

  • 定义
  • 重要性

单机:C10K Problem(经典问题)

单体架构:分布式部署

垂直应用架构:按应用垂直切分的单体

SOA(Service-Oriented Architecture)

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

企业级后端架构剖析

云计算

  • 基础:虚拟化技术;编排方案

  • 架构:

    • IaaS:Infrastructure as a Service
    • PaaS:Platform as a Service
    • SaaS:Software as a Service
    • FaaS:Function as a Serivce

云原生:之前对云原生一直很陌生,直到实习之后真正的接触到企业开发后才慢慢熟悉

  • 弹性资源
  • 微服务架构
  • DevOps
  • 服务网格 Service Mesh

业内后端架构面临的挑战

挑战:

  • 基础设施层面
  • 用户层面

离在线资源并池:降低物理资源成本

  • 在线业务:IO密集、潮汐性、实时性
  • 离线业务:计算密集、非实时性

自动扩缩容:降低业务成本

微服务亲和性部署:降低网络通信

流量治理:基于微服务中间件&服务网格的流量治理;提高微服务调用容错性、容灾、进一步提高开发效率,DevOps发挥到极致

CPU水位负载均衡:打平异构环境算力差异、为自动扩缩容提供正向输入;IaaS提供资源探针;服务网格提供动态负载均衡

后端架构实战

如何设计CPU水位负载均衡?

  • 输入:

    • 服务网格数据面:支持带权重的负载均衡策略
    • 注册中心存储了所有容器的权重信息
    • 宿主机提供容器的资源使用情况
  • 关键点:

    • 紧急回滚能力
    • 大规模
    • 极端场景

自适应静态权重:采集宿主机物理资源信息,调整容器注册的权重

  • 优点

    • 简单
    • 完全分布式
    • 微服务中间件无适配成本
  • 缺点

    • 无紧急回滚能力
    • 缺乏运行时自适应能力

自适应动态权重:动态权重决策中心

  • 缺点:过度流量倾斜可能会有异常情况

进一步,服务网格上报RPC指标

  • 缺点:时序数据库压力大;决策中心职责越来越大

进一步,决策中心微服务化,引入消息队列,离在线链路切分,梳理强弱依赖