毕业设计
【业务背景】
1. 你们挑选选品各大电商平台上畅销和好评的商品进行销售,每个品类不超过 20 个商品,目前做了 10 个品类;
2. 本次 6.18 秒杀选择了 1000 个充电宝,10 台 iPhone 12 作为秒杀商品;
3. 正常的日活大约 100 万用户;
4. 老板要求万无一失。
总体分析
日活用户 100 万,已是一个中大型电商平台。
10 个品类,20 个商品,假设每个商品每个用户每天都访问 3 次,每天的浏览量大约为 3*10*20*100 万为 6 亿次/天,则每秒的访问量为 7000 左右,商品信息的基本上是固定且更新频次低,可以存储在缓存系统中,提高访问的效率。
100 万日活用户有十分之一的用下单,每天订了量为 10 万,每秒的订单量 2 单左右,每秒的压力不大即数据更新量相比较小。
要支持 100 万用户的秒杀,且浏览集中,需要支持 100 万*3,每秒 300 万浏览量的压力,可以支持秒杀,订单量在 1000 左右,为了支持快速下单,仅在内存中标识即可。
如果节约成本,可支持动态扩容,主要集中扩容负载均衡(电商中台可扩容),
分布式缓存可扩容,数据库与存储系统不需要扩容。
一个中型电商系统,库存量小,交流量大,主要是历史订单,用分布式物理数据库存储足够了,可以不导出到文件系统,存储系统用本地磁盘,也可以满足要求,因此分布式存储系统不采用。
总体架构
负载均衡
在秒杀中,每秒的压力在百万级别,可采用 LVS,实现网络负载均衡,不需要要硬件负载均衡,可节约一部分硬件成本
电商系统
分布式缓存
缓存商品数据,浏览商品信息,读取缓存信息,订单等更新数据写入数据库,商品数量异步更新
秒杀商品的数量,在缓存中记录,异步更新,秒杀的瞬间,不更新数据库,秒杀完成后,完成数据库的更新
分布式数据库
商品信息,订单信息,历史流水信息等,记录到数据库中,采用分布式数据库,根据分片规则,记录数据信息。
评论