当前位置:网站首页>模块九 - 设计电商秒杀系统
模块九 - 设计电商秒杀系统
2022-08-10 10:59:00 【InfoQ】
要求

业务性能分析
业务场景
- 待秒杀商品提前加载入 Redis 缓存
- 秒杀前10分钟用户集中登录 App
- 秒杀前用户频繁刷新对应商品页
- 秒杀请求通常集中在活动开始后10秒内
- 秒杀成功的订单在5分钟内完成支付
性能分析
- 正常日活100万,假设由于618活动预热,当天日活数翻翻达到200万,其中 30% (60万)会参与秒杀活动。
- 秒杀前10分钟登录请求 60万,QPS = 600,000 / 10 / 60 = 1000
- 秒杀请求有3种返回结果:成功,售罄,失败。
- 成功和售罄的情况下用户均无法再次参与秒杀。
- 失败是由于高并发情况下系统未成功处理请求,用户可能会重新点击秒杀重试。假设平均每个用户重试两次。
- 由此估算秒杀 TPS = 600,000 * 2 / 10 = 120,000
存储架构
- 秒杀活动主要由 Redis 集群来处理,包括商品预览,库存实时刷新等;
- MySQL 用于数据持久化。

负载均衡
- 由于公司目前还在创业阶段,故不考虑F5。采用三级负载均衡架构

缓存设计

高可用架构
- 系统正常日活在百万级别,暂不考虑异地多活
- 老板要求万无一失,采用同城双中心

边栏推荐
- In August the DB list latest scores - database Engines
- LeetCode_628_三个数的最大乘积
- POJ 2891 Strange Way to Express Integers (Extended Euclidean)
- Dry goods!ASSANet: Making PointNet++ faster and stronger
- POJ 3101 Astronomy (Mathematics)
- 基于UiAutomator2+PageObject模式开展APP自动化测试实战
- HCIP ---- VLAN
- Double.doubleToLongBits() method uses
- Double.doubleToLongBits()方法使用
- mysql5.7 installation and deployment - yum installation
猜你喜欢
L2 applications from a product perspective: why is it a playground?
4 面拿华为 offer 的水平,面试阿里居然一面就被吊打?
The brave rice rice, does not fear the brush list of 】 list has a ring
TCP/IP笔记
Open Office XML 格式里如何描述多段具有不同字体设置的段落
零基础想自学软件测试,有没有大佬可以分享下接下来的学习书籍和路线?
Nocalhost - 让云原生时代的开发更高效
让软件飞——“X+”技术揭秘
振弦传感器及核心VM系列振弦采集模块
Gold, nine, silver and ten job-hopping seasons: technical interview questions and answers on Alibaba, Baidu, JD.com, and Meituan
随机推荐
Codeforces 814 C. An impassioned circulation of affection (dp)
电脑怎么设置屏幕息屏时间(日常使用分享)
谷歌数据中心发生“电力事故”造成 3 人受伤
基于UiAutomator2+PageObject模式开展APP自动化测试实战
软件架构简介
使用JMeter进行MySQL的压力测试
In August the DB list latest scores - database Engines
快速上手,征服三种不同分布式架构调用方案
Introduction to cross-end development of Taro applet
阻塞 非阻塞 poll机制 异步
机器学习之暴力调参案例
【勇敢饭饭,不怕刷题之链表】链表反转的几种情况
POJ 1026 Cipher (Permutation Groups)
Alibaba最新神作!耗时182天肝出来1015页分布式全栈手册太香了
Hangdian Multi-School-Loop-(uncertainty greedy + line segment tree)
How can an organization judge the success of data governance?
【TypeScript】接口类型与类型别名:这两者的用法与区别分别是什么?
从源码角度分析UUID的实现原理
开发模式对测试的影响
基于UiAutomator2+PageObject模式开展APP自动化测试实战