互联网API接口幂等设计

本文探讨了互联网API接口的幂等性设计,通过Token验证、乐观锁、分布式锁等技术方案防止重复提交和并发问题。介绍了在不同场景下如RPC调用、数据库操作时如何确保接口幂等性,并提供了对外接口的幂等性处理策略。
场景:

支付宝二维码去付款,那么这个二维码代表这一次付款,如果这个二维码不小心被扫描多次,那么也应该只扣款一次,如果扣了两次款,那么我们的资金就损失了。

再比如,我们的一个天猫订单去支付,不小心连续点击了两次支付按钮,那么这次支付也应该扣款一次。

意思: 在我们实际系统中有很多操作,是不管做多少次,都应该产生同样的效果的同时返回一样的结果。 这种事情在高并发的互联网环境下,更要得到保证。如:我提交了一个请求,不能由于网络重发等原因产生多个请求结果,我插入的数据不能由于并发多插入等等。

具体事例:

1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。
2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值