手把手教你做系统设计|青训营笔记

86 阅读2分钟

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

引言

  • 为什么要做系统设计

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

  • 如何做系统设计

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

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

    • 链路梳理
    • 可观测性
    • 全链路测试
    • 稳定性控制
    • 容灾演练

电商和秒杀

基本概念

  • Spu:SPU即标准化产品单元,是一组可复用、易检索的标准化信息的集合。该集合描述了一个“产品”的特性。 通俗来说,属性值、特性相同的商品就可以称为一个SPU。也可以说,SPU是一个抽象出来的模板。 一般来说,类目系统中的关键属性(品牌、货号等)能够确定一个SPU,例如,iPhone 6就是一个SPU,诺基亚N97也是一个SPU,这与商家无关,与颜色、款式、套餐也无关。SPU的属性是分类属性的子集。只要用户在SPU中定义了属性,那么用户在录入商品时,就不需要再次录入,也不可以更改。
  • Sku:SKU即单品/最小库存单元。目前,SKU在各种零售商品中应用得非常普遍。例如,某款衣服是一件商品,不同颜色、不同尺码的该款衣服,对应不同的SKU。SKU比较简单,就是把销售的值组合存放,再加上库存、价格。例如,该款衣服的黑色大号共有5件,每件20元;红色小号共有3件,每件21元。
  • 秒杀业务的特点

秒杀的挑战

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

设计秒杀系统

4S分析

  • 场景
  • 存储
  • 功能
  • 扩展

系统架构图

实践

秒杀流程

总结

高性能系统的通用设计思想