老师,请教一个接口幂等性的问题。

老师,请教一个接口幂等性的问题。

七月老师你好。昨天面试的时候被问到了一个接口幂等性的问题,想向您请教一下。

假如我们现在有一个秒杀业务。活动开始后,用户点击秒杀按钮,此时系统有延迟,用户又多点击了几次秒杀按钮(假如多点了5次),此时后端就会记录用户下单了6次。应该怎么解决这一问题?

我的答案:使用锁机制。

我的大概思路是:在请求进入Service中之后,手动Mysql开启事务,并且具体的业务处理方法写进synchromized代码块中。

请问这样会不会影响其他的用户下单?

老师,能不能给个思路?大概的流程是什么样子的?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
7七月 2020-06-12 19:51:07

一般来说,前端这块点击一次后 Button会立即禁止点击,可以解决一部分问题。Lin的Button有禁用的属性可以设置。

如果是考虑到服务端幂等性,那么我们之前做的是用Redis来加锁,同一时间只允许一个用户一次下单,这个可以参考下

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师