架构初探|青训营笔记

134 阅读3分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第7篇笔记」

什么是架构

  • 软件架构,有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。架构在实现一个软件的方法选择上起着至关重要的指导作用。
  • 架构的要性
    • 基础
  • 单机架构,所有功能都能实现在一个进程里,并部署在一台机器上
    • 优点:简单
    • 排队C10K problem瓶颈,运维需要停服
  • 单体、垂直应用|垂直切分
    • 单体架构:分布式部署
    • 垂直应用架构:按应用垂直切分的单体
    • 优点:水平扩容,运维不需要停服
    • 缺点: 指责太多,开发效率不高,爆炸半径大(每个师傅准备蛋糕要很多步骤)-》分工协作

截屏2022-05-22 上午10.40.16.png

  • SOA、微服务|水平切分
    • SOAservice oriented architecture
      • 将应用的不同功能单元抽象为服务
      • 定义服务之间的通信标准-不同服务间的沟通
      • 微服务架构:SOA的去中性化演进方向,服务间的沟通技巧更加自由,SOA(共用一个沟通技巧-需要制定规则)-微服务对此进行拆分
    • 问题:
      • 数据一致性问题(分布式系统的挑战),装货台共交付了多少蛋糕
      • 高可用,多个服务如何合作
      • 治理,冗灾
      • 截耦 vs 过微(需要拆分多少)

截屏2022-05-22 上午10.47.33.png

企业级后端架构剖析

  • 背景,如何扩大规模,未来方向、规划

云计算

  • 通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模数据分析和存储的基石
  • 更多的关注业务,而不需关注底层实现
  • 基础:
    • 虚拟化技术 如何编排- 整租 vs 合租
    • 编排方案 - 业主 vs 租赁平台
  • 架构
    • IaaS infrastructure as a service,买房子 vs房屋租赁平台,交易过户 租赁平台
    • PaaS platform, 清包(自己买材料) vs 全包(只负责出钱),装修
    • SaaS, software, 从零培训 vs 雇佣培训过的师傅,培训带新、培训机构
    • FaaS function, 纯手工制作 vs 蛋糕机批量生产

截屏2022-05-22 上午11.16.36.png

云原生

  • 为组织、公司在公有云、自由云、混合云等新型的动态环境中,构建和运行可弹性拓展的应用提供了可能

截屏2022-05-22 上午11.22.41.png

截屏2022-05-22 上午11.28.01.png

云原生,把数据库当作服务,需要什么使用场景,就去找什么类型的服务 截屏2022-05-22 上午11.31.17.png

截屏2022-05-22 上午11.35.04.png

截屏2022-05-22 下午8.01.00.png

截屏2022-05-22 下午8.05.27.png

从缓存里快速取“蛋糕”,缓存中没有就是缓存击穿,等待制作 截屏2022-05-22 下午8.08.45.png

企业级后端架构的挑战

截屏2022-05-22 下午8.11.12.png

并池(把池子合并在一起)

截屏2022-05-22 下午8.14.36.png

  • 同一个机器如何做离在线隔离?cpu
    • 虚拟化隔离cpu,划分set,离线用离线的cpu set,在线用在线cpu set

截屏2022-05-22 下午8.21.10.png

  • 扩缩容依据什么指标?
    • 根据不同场景
    • 很多微服务 根据cpu的50百分之使用率数,或内存+cpu

两个服务之间的通信 截屏2022-05-22 下午8.25.09.png

截屏2022-05-22 下午8.28.45.png

  • cpu水位差异——如何打平差异 截屏2022-05-22 下午8.30.08.png

后端架构实战

截屏2022-05-22 下午8.35.24.png

截屏2022-05-22 下午8.45.46.png

截屏2022-05-22 下午8.57.39.png

截屏2022-05-22 下午9.00.07.png

截屏2022-05-22 下午9.03.16.png