系统设计|青训营笔记

80 阅读1分钟

这是我参与「第五届青训营」伴学笔记创作活动的第10天。本篇为第五届字节跳动青训营-寒假专场-后端基础课程的笔记。

课程内容

  • 系统设计方法论
  • 电商秒杀业务介绍
  • 课程实践
  • 课程总结

如何设计

  • 场景:多大并发量?生么系统?用户群体?
  • 存储:缓存如何设计,是否需要多级缓存?
  • 服务设计:
  • 可扩展性:数据迁移,流量隔离,组件的高可用

如何发现系统瓶颈

  • 火焰图分析:cpu,内存 等等使用率
  • 链路追踪:一次http请求的调用链
  • 性能测试:压力测试:如 Jmeter 等等。

系统设计方法论

  • 为什么要做系统设计

    • 个人?
    • 工作?
  • 系统设计的概念是什么

  • 如何做系统设计

    • 4S分析法

      • 场景分析:什么系统,需要哪些功能,多大的并发量。
      • 存储设计:数据如何组织,sql存储,nosql存储。
      • 服务设计:业务功能实现和逻辑整合。
      • 可拓展性:解决设计缺陷,提高鲁棒性、拓展性。
  • 如何分析系统瓶颈和优化

    • 火焰图分析
    • 链路分析
    • 全链路压测
  • 如何验证系统的可用性和稳定性

    • 链路梳理

      • 核心链路
      • 流量漏斗
      • 强弱依赖
    • 可观测性

      • 链路追踪
      • 核心监控
      • 业务报警
    • 全链路测试

      • 压力测试
      • 负载测试
      • 容量测试
    • 稳定性控制

      • 系统限流
      • 业务兜底
      • 熔断降级
    • 容灾演练

      • 混沌工程

      • 应急手册

      • 容灾预案