秒杀系统注意点(面试题记)
2019-03-21 本文已影响142人
半亩房顶
问题结构
问题结构主要是以下三个:
1、可能存在的问题
2、如何应对,尽可能的说出技术细节
安全性
不要提前暴露抢购链接
可以使用定时任务替换脚本,来更新抢购页面,放出真实链接
稳定性
如何应对高并发,保证系统稳定性和可用性
1、可能存在的问题
服务器负载过大,无法及时处理
2、如何应对
- 负载均衡:进行分流,减少单机需要处理的量
- 优化页面:动态页面转静态页面;压缩js、css等脚本
- 使用队列,设定阈值,缓存请求,提高响应速度,分别返回失败,队列已满和加入队列成功三种返回。同时,使用队列也可以更好的保证一致性问题
一致性
超卖等数据不一致问题
1、可能存在的问题
高并发环境下,可能导致对于关键数据的计算出问题,比如超卖
2、如何应对
- 可以使用队列,变并发为串行,降低出错率
- 可以给关键数据加锁,不过redis的锁机制不是特别的友好
欢迎大家关注我的公众号