架构实战营毕业设计
设计电商秒杀系统
背景参考下图
1.存储性能估算
该平台有 100 万日活用户,假设日活用户为 10%,则总用户为 1000 万
商品数量计算
计算公式:品类数*每个品类数包含的商品
计算结果:10*20 = 200
秒杀商品:2 个
商品数量一共:202 个
商品数据直接利用现有系统,在秒杀之前,将商品数据写入缓存,静态资源可利用 nginx 缓存和 app 缓存,商品信息加载进 redis 缓存
2.存储架构设计
商品信息量少,略过持久化储存,提前加载进 redis 缓存,支持大 qps
考虑到秒杀系统会在 app 层、后端做好限流,实际到达到达数据层和缓存的请求比较少
3.性能估算
秒杀商品
假设 1000 万用户都参与秒杀充电宝和 iphone,2 秒内商品被抢完
库存读取 1000 万/2 = 500 万
库存修改 1010/2 约 = 500
其余 10 个品类商品,200 个商品
假设平均每个商品有 1000 个库存
假设有 10%用户平均购买了一个商品,下单事件集中在 12 点凌晨 1 小时、618 中午 1 小时,618 晚上 2 小时
库存修改:100 万/(4*3600)=69
库存读取:假设 10 个浏览商品的用户中,有一个购买了商品,库存读取=69*10=690
4.单机房内负载均衡
5.计算架构-缓存架构
6.高可用架构设计-邻近跨城双中心(双活)
7.高可用架构设计-同城双中心(双活)
8.其它设计要点
商品信息及库存信息提前加载进缓存;
评论