写点什么

毕业设计 - 电商秒杀系统

作者:小智
  • 2021 年 12 月 01 日
  • 本文字数:603 字

    阅读完需:约 2 分钟

1.业务背景

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

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

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

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

  4. 老板要求万无一失。

2.技术背景

  1. 技术团队以 Java 为主,已经落地了微服务架构;

  2. 主要渠道是自有的 App(包括 iOS 和 Android)和微信小程序,为了促进用户转化为 App 用户,只有下载 App 才能参加秒杀活动;

  3. 目前只有单机房。

2.详细设计


2.1 存储性能估算

注册:

日活 100 万,注册用户数 1000 万

登录:

正常日货是 100 万,618 当日日活为平常 2 倍,200 万

假设活动开始前 5 分钟内登录,200 万/60*5=6000tps

商品:

商品存属性及秒杀数量都存到 redis 中

秒杀记录:

秒杀成功后,在 redis 中记录秒杀记录,同时更新 redis 的秒杀数量


6000tps 的登录对系统的性能要求,假设现有系统的架构是可以满则要求的


数据库选用 mysql,主备,商品缓存用 redis,利用之前的 redis 的 cluster 集群做缓存



2.2 计算高性能


假设秒杀开始 1 秒内,有 50%的用户参加秒杀,60 万*50%=30 万 tps,这么大流向对现在架构肯定撑不住,因此需要增加网关进行限流,使用 springcloudgateway+sentinel 进行限流操作,将到达应用服务流量保持在 1000tps(应用承受的负载),其它请求都直接拒绝。



2.3 可扩展及高可用


秒杀服务,可以单独部署,并且集群部署,实现可扩展及高可用

2.4 总体架构



用户头像

小智

关注

还未添加个人签名 2018.10.17 加入

还未添加个人简介

评论

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