写点什么

毕业设计电商秒杀系统

用户头像
Clarke
关注
发布于: 刚刚

【业务背景】

你作为一个电商创业公司的架构师,负责设计 6.18 大促秒杀系统的设计,你们的业务模式如下:

1.你们挑选选品各大电商平台上畅销和好评的商品进行销售,每个品类不超过 20 个商品,目前做了 10 个品类;

2.本次 6.18 秒杀选择了 1000 个充电宝,10 台 iPhone 12 作为秒杀商品;

3.正常的日活大约 100 万用户;

4.老板要求万无一失。


一、电商秒杀系统的复杂度分析

a) 业务复杂度: 秒杀系统本身业务逻辑并不复杂,就是按照先到先得的一个逻辑,库存不能超卖。

b)性能复杂度:假设全部的日活用户都来参与秒杀活动,并且访问集中在秒杀前后 1 分钟 内,商品的查询 QPS=1000000/60=1.6 万;秒杀接口的 TPS 可以认为也是 1.6 万。

c)高可用复杂度:秒杀的核心库存控制是有强一致要求的,所以主从复制延迟要求非常低。同时考虑到创业公司财力有限,可以做单 DC 的主从 redis 集群,同时业务逻辑上可以加一些限流与概率逻辑,控制住比如每 50ms 只能售出的商品的数量只能是一台,这样就降低了主从复制延迟造成的风险。


二、总体架构设计



三、存储架构设计


秒杀商品种类有 20*10=200(个)。秒杀产生的记录,1000+10=1010(条)。

数量均不大,考虑之前分析的高性能复杂度,qps/tps 在 1.6 万左右。会需要使用高性能

缓存集群 redis 做为商品信息缓存,以及商品库存的记录。考虑到库存的强一致要求,可以采用主备架构,

至于其他信息可以存储在 mysql 中,并采用主备结构。




用户头像

Clarke

关注

还未添加个人签名 2018.04.15 加入

还未添加个人简介

评论

发布
暂无评论
毕业设计电商秒杀系统