沈剑架构师之路——秒杀系统的优化思路

1、秒杀系统架构优化思路

常见的架构:

在这里插入图片描述

优化方向:
1、将请求尽量拦截在系统上游:
2、充分利用缓存:
各层优化细节
1、客户端怎么优化(浏览器层,App层)
(a)、产品层面:

用户点击后按钮置灰,禁止用户重复提交。

(b)、js层面:

限制用户在x秒内只能提交一次请求。

2、站点层面请求的拦截
(a)、在站点层面,对uid进行请求计数和去重
(b)、利用缓存:

同一个uid,限制访问频度,做页面缓存,x秒内到达站点层的请求,均返回同一页面

3、服务层来拦截
(a)、请求队列

对于写请求,做请求队列,每次只透有限的写请求去数据层

4、数据库:闲庭信步

问题

1、按你的架构,其实压力最大的反而是站点层,假设真实有效的请求数有1000万,不太可能限制请求连接数吧,那么这部分的压力怎么处理?

解决方法一:站点层增加机器扩容。
解决方法二:机器不够抛弃部分请求,返回稍后再试。

2、秒杀之后的支付完成,以及未支付取消占位,如何对剩余库存做及时的控制更新?

解法方法:数据库里一个状态,未支付。如果超过时间,例如45分钟,库存会重新会恢复(大家熟知的“回仓”),给我们抢票的启示是,开动秒杀后,45分钟之后再试试看,说不定又有票哟~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值