如何处理抢购接口的高可用

首先基于我们平台的业务场景

由于类似于秒死活动 每次活动发布商品数量是1000份,基于现在用户量是50w,所以在限时开售时瞬时用户访问量会猛增到30w左右。项目架构采用的是微服务,这点用户量对于系统没什么压力,但是部分用户会采用外挂来刷抢购接口(基于目前用户请求加cc攻击下单接口1分钟访问量能达到50w+甚至于100w+,这里采用的是阿里云的web防火墙能拦截大部分cc攻击)。


基于开售瞬间所有用户都在点击抢购按钮,前端做的限制是3秒一次请求,而后端使用的下单接口收到请求后加入到队列 由队列去处理生成订单逻辑(要么订单成功生成 要么失败),app收到下单接口返回的订单code反查是否有生成订单,有则跳支付页,无则返回详情页,大致就这样子,其它具体细节不一一说明了

 

库存防止超卖采用的是分布式锁,在服务消费者做了令牌桶处理,在网关针对热点接口做了单用户限流

数据库读的压力很大 必须做读写分离,主从,架构必须把热点接口单独抽出来做成微服务 防止影响其它服务
  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值