机构| 青训营笔记

36 阅读2分钟

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

架构篇

1.什么是架构

  • 什么是架构

    • 是有关软件整体结构与组件的抽象描述
    • 用于指导软件系统各个方面的设计
    • 2.企业级后端架构
    • 站在巨人的肩膀上
  • 单机

    • 把所有功能都是现在一个进程里,并部署在一台机器上
  • 单体架构

    • 分布式部署
    • 优点:水平扩容、运维不需要停服
    • 问题:职责太多,开发效率不高、爆炸半径达
  • 垂直应用架构

    • image-20230201111237243
  • SOA(Service-Oriented Architecture) 微服务|水平切分

    • 将应用的不同功能单元抽象为服务
    • 定义服务见的通信标准
    • image-20230201111452193
    • image-20230201111616935
    • 微服务架构:SOA的去中心化演进方向

2.企业级后端结构剖析

  • 云计算

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

    • 基础:

      • 细腻化技术
      • 编排方案
    • 架构:

      • IaaS
      • PaaS
      • SaaS
      • FaaS
    • image-20230201112752655

  • 云原生 弹性计算资源类型

    • 服务资源调度

      • 微服务
      • 大服务
    • 计算资源调度

      • 在线
      • 离线
    • 消息队列

      • 在线:削峰、解耦
      • 离线:大数据分析

      image-20230201113620994

  • 弹性存储资源类型

    • 经典

      • 对象
      • 大数据
    • 关系型数据库

    • 元数据

    • NoSQL

    image-20230201113727988

  • DevOps:云原生时代软件交付的力气,贯穿整个软件周期开发

    image-20230201114252739

  • 通信标准:

    • HTTP RESTfulAPI
    • RPC Thrift,GRPC
  • 微服务中间件 RPC vs HTTP

    • 性能
    • 服务治理
    • 协议可解释性
  • image-20230201114559139

  • 服务网格

    • 微服务之间通讯的中间层
    • 高性能网络代理
    • 业务代码与治理解耦

    image-20230201114847449

3.挑战

  • 基础设施层面

    • 物力资源有限

      • 机器
      • 带宽
    • 资源利用率受制于不舒服务

  • 用户层面

    • 网络通信开销较大
    • 网络抖动导致运维成本提高
    • 异构环境下,不同实例资源水位不均
  • 自动扩缩容

    • 利用在线业务潮汐性自动扩缩容