kill
2021-05-10 17:06:28 0 举报
- `乐观锁防止超卖` ---核心基础 - `令牌桶限流` - `Redis 缓存` - `消息队列异步处理订单`
作者其他创作
大纲/内容
对用的每次请求进行redis统计
区别
加版本号:更新售出数量的时候版本号也跟着变化
处理下单业务
根据商品id和用户id生成md5
用户
隐藏秒杀接口
version字段和事务
限时抢购
单用户限制频率
保持系统的可用性和稳定性,防止因流量暴增而导致的系统运行缓慢或宕机
漏斗算法(阻塞队列)
现场处理下单业务
使用乐观锁
抢购商品
未超过
解决方案
比较两次md5值
若请求数超过令牌桶容量会发生溢出
是否超过限制次数
redis
存入redis
获取生成md5
把从超卖问题交给数据库
抛弃请求
基础模型
令牌桶算法
并发场景下会出现超卖的情况
使用Redis记录秒杀商品时间,对秒杀过期的请求进行拒绝处理
抢购接口隐藏
用户体验比较差
使用悲观锁Synchronized来修饰秒杀方法体(同步代码块)
接口限流
Guava:RateLimiter
大规模并发-->限流
用户下单需要额外带md5字段发送请求
0 条评论
下一页