系统设计篇 | 青训营笔记

92 阅读2分钟

这是我参与「第五届青训营」笔记创作活动的第 10 天。笔记旨在记录自己的学习过程以及跟更多人分享交流,重点讲干货,不扣细节,从整体认知。废话不多说,上内容!!!

本堂课重点内容

  1. 系统设计方法论
  2. 电商秒杀业务介绍
  3. 课程实践
  4. 课程总结

详细知识点介绍

系统设计方法论

  • 系统设计定义

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

  • 如何做系统设计

    • 4S分析法
    • 01 场景分析(Scenario) 什么系统,需要哪些功能,多大的并发量
    • 02 存储设计(Storage) 数据如何组织,Sql存储,NoSql存储
    • 03 服务设计(Service) 业务功能实现和逻辑整合
    • 04 可扩展性(Scale) 解决设计缺陷,提高鲁棒性、扩展性
  • 如何分析系统瓶颈和优化

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

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

电商秒杀业务介绍

基本概念
  • 商品 : 具有交易价值和属性的信息载体

  • SPU : Standard Product Unit

  • SKU : Stock Keeping Unit

  • 秒杀业务的特点 : 瞬时流量高、读多写少、实时性要求高

秒杀的挑战
  • 资源有限性
  • 反欺诈
  • 高性能
  • 防止超卖
  • 流量管控
  • 扩展性
  • 鲁棒性
设计秒杀系统

1.png

2.png

3.png

4.png

5.png

6.png

实践练习例子

1.png

要代码私聊

课后个人总结

  1. 电商的可变性与孩子的心情一样,变化极快,所以在设计之处就要想好大部分的功能接入及开发,尽量减少重构次数。对老板来说节约成本,对程序员来说“珍惜生命”
  2. 商品中心其实在许多公司中都已经是比较成熟的模块,各个公司的商品中心可能基于公司业务不同会有细微的区别,但是其核心是相通的。

引用参考

  1. 字节录播课
  2. 手把手教你做系统设计之秒杀系统
  3. 后端专场 学习资料四 第五届字节跳动青训营