Tidb + 分布式锁实现幂等--golang实现奖品发放系统
文章目录问题背景解决方案方案1:事务方案2:分布式锁方案三 分布式锁优化github地址
问题背景
最近业务上遇到这样的场景,觉得很有代表性,所以拿来说一说。我们有一个奖品发放系统,当用户申请奖品的时候,首先需要判断用户有没有申请过奖品,如果没有申请过,则去奖品总量扣除一个,然后再把用户申请记录写回数据库。
流程如下:
时序
事件
t1
检测用户申请过奖品
t2
奖品扣除
...
原创
2019-07-07 17:30:09 ·
499 阅读 ·
0 评论