秒杀系统设计

  1. 秒杀系统特点
    1. 时间短,访问量大
    2. 读多写少
  2. 难点
    1. 防止超卖
    2. 保障系统不崩
    3. 防止缓存雪崩,缓存击穿,缓存穿透
    4. 拦截恶意请求
    5. 防止链接暴露
    6. 保障数据库稳定不挂
  3. 优化方法
    1. url动态加密
      1. 请求的url加上动态加密串,到了服务端解密,判断是否是合法请求,不合法的直接pass,增加作弊成本
    2. 前端资源静态化
      1. 将前端资源放到cdn上,只有动态接口才到服务端
    3. 前端拦截
      1. 用户点了按钮后,按钮灰掉,等过几秒才能再点。通过这个方法,已能拦截80%的流量
    4. 后端拦截
      1. 同一个uid,限制访问频率,x秒内的请求,都返回缓存数据。防止通过代码调用接口伪造请求
    5. 削峰填谷
      1. 使用消息中间件,将请求先扔到消息里去,再慢慢处理
    6. redia缓存
      1. 经过上面过滤后,流量已经少了很多,这个时候再来的请求,只要到redia里使用分布式锁扣库存,扣除成功的再到数据库里执行写操作
  4. 参考文档
    1. 慕课网秒杀视频讲解
    2. bilibili淘宝秒杀设计
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值