毕业设计
电商秒杀系统
一、需求背景
【业务背景】
电商创业公司,计划进行 6.18 大促秒杀,业务模式如下:
1. 挑选选品各大电商平台上畅销和好评的商品进行销售,每个品类不超过 20 个商品,目前做了 10 个品类;
2. 本次 6.18 秒杀选择了 1000 个充电宝,10 台 iPhone 12 作为秒杀商品;
3. 正常的日活大约 100 万用户;
4. 老板要求万无一失。
【技术背景】
1. 技术团队以 Java 为主,已经落地了微服务架构;
2. 主要渠道是自有的 App(包括 iOS 和 Android)和微信小程序,为了促进用户转化为 App 用户,只有下载 App 才能参加秒杀活动;
3. 目前只有单机房。
二、架构设计
1、总体架构思路
1)系统行为
2)系统过程
3)系统分析
① 独立开发部署秒杀系统,避免影响现有系统和业务;
② 正常的日活大约 100 万用户,
③ 秒杀开始前,用户只能浏览商品信息,不能下单;
④ 秒杀开始时,瞬间高并发请求给系统带来巨大压力;
⑤ 秒杀开始后,抢到商品的用户进入下单页面,未抢到用户直接返回秒杀结束页面。
2)设计思路
① 浏览商品采用多级缓存:应用本地缓存--->CDN--->服务器缓存。
② 使用有限长度队列存储前 n 个请求,等待执行结果,n 之后的请求直接返回秒杀结束页面。
③ 允许前 n 个请求进入下单页面,下单后订单进入常规系统。
2、存储设计
3、负载均衡
4、缓存设计
5、高可用设计
6、可扩展设计
评论