【实践课】手把手教你做系统设计 | 青训营笔记

75 阅读2分钟

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

系统设计方法论

引言

  • 为什么要做系统设计

  • 系统设计的概念是什么

  • 如何做系统设计

    • 4S分析法
  • 如何分析系统瓶颈和优化

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

    • 链路梳理

    • 可观测性

    • 全链路测试

    • 稳定性控制

    • 容灾演练

系统设计

  • 为了达成某种目的,通过个体组成整体的过程

电商秒杀业务介绍

基本概念

商品:具有交易价值和属性的信息载体

Spu:Standard Product Unit(标准商品单元)

Sku:Stock Keeping Unit(库存保持单元)

QPS(Query Per Second):每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。

TPS(Transactions Per Second) 每秒事务数。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数,

秒杀业务的特点

  • 瞬时流量高
  • 读多写少
  • 实时性要求高

秒杀的挑战

  • 资源有限性
  • 反欺诈
  • 高性能
  • 防止超卖
  • 流量管控
  • 扩展性
  • 鲁棒性

如何设计秒杀系统

场景

存储

MySQL -> Redis -> Localcache

image.png

服务

  • 子服务:
    • 用户服务
    • 风控服务
    • 活动服务
    • 订单服务
  • 基础组件
    • ID生成器
    • 缓存组件
    • MQ组件
    • 限流组件

扩展

系统架构图

image.png

秒杀流程图

image.png

参考

【后端专场 学习资料四】第五届字节跳动青训营 - 掘金 (juejin.cn)

‬⁣‍​‌⁤‬​​‍​‌‌⁤‬‌⁤‌‌‍​⁡​‌⁣​⁡⁣⁢⁡‍⁤​‬⁢‌⁣‬⁡​‬‌⁤​‬⁢手把手教你做系统设计之秒杀系统 .pptx - 飞书云文档 (feishu.cn)