如何处理高并发发红包的场景?

问题描述

由于公司有答题发红包活动的需求,活动相当于是送红包,也不存在抢红包的概念。就是每日有一个限额,比如一万。对于发红包的业务来说,必须要用事务加上锁比较合适,但是看了网上的解决方案,大多是推荐用乐观锁,但是乐观锁存在有被驳回的情况。由于我们的需求是只要是答对就发红包,而题目基本就是送分题,所以导致发红包的量很大

问题出现的环境背景及自己尝试过哪些方法

最早没有用锁机制就会发现往往会超发几块钱,后面加了排它锁,发现数据库执行会边长,并发量一大就会导致阻塞。

慕的地10843
浏览 576回答 6
6回答

紫衣仙女

可以考虑将1万个红包的code写入redis。答对之后之前从redis取出数据,并发操作由redis保证

HUH函数

乐观锁会有驳回的情况,可以考虑使用重试解决。

至尊宝的传说

加个倒计时打开红包试试

MMTTMM

redis原子操作,了解一下?

明月笑刀无情

我也推荐使用redis来做这个红包发放的判断,可以很好的应对高并发的场景
打开App,查看更多内容
随时随地看视频慕课网APP