使用webman,如何进行请求排队
问题描述
现在有一个业务是抽奖
- 开启活动A
- 活动A持续时间是5天
- 在活动期间内,每个用户 有且只有 一次抽奖机会
- 根据这些特点,不会有那种瞬时超大流量进来,但总会有 几个用户同时抽到同一个产品的情况,目前主要是针对这种情况,避免并发的问题
为此你搜索到了哪些方案及不适用的原因
我目前想到的方案有
- 利用 MySQL 行锁,这个在代码层非常容易实现
- 利用redis,但具体是怎样一个思路,目前还没有想好
针对这种情况,大家有什么更好的方案或者思路吗?
2个回答
年代过于久远,无法发表回答
不理解 你这啥抽奖逻辑呀,你这种直接 把奖品放入redis 集合 随机弹出来一个 不就完了嘛 这样就不会出现抽到同一个奖品的问题了
几种方式可以解决:
1.抽奖接口加分布式锁
2.如果产品的库存又多个,产品库存使用redis储存,然后使用redis自减扣除(详情参考超卖问题解决方案)