使用webman,如何进行请求排队

evilk

问题描述

现在有一个业务是抽奖

  1. 开启活动A
  2. 活动A持续时间是5天
  3. 在活动期间内,每个用户 有且只有 一次抽奖机会
  4. 根据这些特点,不会有那种瞬时超大流量进来,但总会有 几个用户同时抽到同一个产品的情况,目前主要是针对这种情况,避免并发的问题

为此你搜索到了哪些方案及不适用的原因

我目前想到的方案有

  1. 利用 MySQL 行锁,这个在代码层非常容易实现
  2. 利用redis,但具体是怎样一个思路,目前还没有想好

针对这种情况,大家有什么更好的方案或者思路吗?

503 2 0
2个回答

tanhongbin

不理解 你这啥抽奖逻辑呀,你这种直接 把奖品放入redis 集合 随机弹出来一个 不就完了嘛 这样就不会出现抽到同一个奖品的问题了

  • 暂无评论
小Z先生

几种方式可以解决:
1.抽奖接口加分布式锁
2.如果产品的库存又多个,产品库存使用redis储存,然后使用redis自减扣除(详情参考超卖问题解决方案)

  • 暂无评论
×
🔝