秒杀系统设计 | 青训营笔记

101 阅读2分钟

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

一、本堂课重点内容:

  • 本堂课的知识要点有哪些?
  1. 系统设计方法论
  2. 电商秒杀业务介绍
  3. 课程实践
  4. 课程总结

二、详细知识点介绍:

  • 本堂课介绍了哪些知识点?

前置课程知识

  • Mysql
  • Redis
  • Java
  • RocketMQ
  • OpenResty
  • Linux
  • Jmeter

如何做系统设计

1.场景分析:要实现一个具有什么功能的系统,该系统能使承受的并发访问量。

2.存储设计:数据如何组织,如何进行sql存储或者Nosql存储

3.服务设计:业务功能的具体实现和逻辑整合

4.可扩展属性: 解决设计缺陷,提高系统鲁棒,扩展性

如何设计一个电商系统

基本概念

  • Spu

SPU(Standard Product Unit):标准化产品单元。是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。

  • Sku

最小存货单位(SKU),全称为Stock Keeping Unit,即库存进出计量的基本单元,可以是以件,盒,托盘等为单位。SKU这是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法。现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的SKU号。单品:对一种商品而言,当其品牌、型号、配置、等级、花色、包装容量、单位、生产日期、保质期、用途、价格、产地等属性中任一属性与其他商品存在不同时,可称为一个单品

  • 秒杀业务的特点

(1)低廉价格;

(2)大幅推广;

(3)瞬时售空;

(4)一般是定时上架;

(5)时间短、瞬时并发量高;

秒杀的挑战

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

系统架构

image.png

秒杀流程的实现

image.png

三、实践练习例子:

  • 有什么实践举例帮助理解知识点?

四、课后个人总结:

  • 本章有什么知识点不容易掌握?
  • 什么地方容易与其他内容混淆?

五、引用参考:

  • 我参考了哪些外部博客/笔记/文章?
  • 文章中有什么地方是我参考引用了外部博客/笔记/文章的?