写点什么

电商秒杀系统架构设计

作者:李大虾
  • 2022 年 4 月 28 日
  • 本文字数:546 字

    阅读完需:约 2 分钟

一:背景描述

1.1 业务背景

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

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

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

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

  4. 老板要求万无一失

1.2 技术背景

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

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

  3. 目前只有单机房


二:架构设计

架构设计需要保证秒杀活动的顺利进行,系统需要支持高性能(高并发)。日活用户 100w,用户量上千万。但由于商城对库存、余额的强一致性要求。依然继续维持单机房方案。


  1. 存储设计

商品、订单信息在主系统架构内已有相关服务。秒杀服务只需要存储商品、库存、下单的排队队列状态的缓存信息。

  • 使用 Redis 存储库存、秒杀商品信息

  • 缓存的主要请求压力来自库存查询。秒杀商品只有两个。使用一主一从的方案即可保证查询


  1. 负载均衡

  • 秒杀商品类目已决定,且只能在 APP 上进行,可以通过缓存+多级负载均衡减少对商品页的请求。

  • 用户下单前,使用验证码缓冲秒杀开始的请求量

  • 使用消息队列缓存下单请求,通过排队的方式消峰订单创建和库存扣除。



用户头像

李大虾

关注

还未添加个人签名 2018.12.09 加入

还未添加个人简介

评论

发布
暂无评论
电商秒杀系统架构设计_#架构实战营_李大虾_InfoQ写作社区