秒杀系统如何设计

近来听到关于秒杀的话题,想起N年前去某当面试,好像有类似设计题,觉得挺有意思,整理了下,供大家临时应急使用!

秒杀场景:

10W真实用户参与秒杀,仅有100人可以成功购买商品。

考虑到码农的特殊手段,接口流量咱们按20W去算.

思路如下:

1、前端控制   

技术控制,置灰按钮、防止重复提交   

2、后端负载均衡、分散流量

单机理论极限并发约6W,20W流量需要4台服务,去分散流量

3、用户频率限制

用户手脚不停的刷商品,在一段时间内,同一用户会有多次请求,可以用通过redis来过滤

4、令牌策略

可以令牌桶或MQ来过滤数据,拿到令牌的可以去购买,减轻DB压力

5、数据库乐观锁

满足条件的才可以成功购买商品

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值