码迷,mamicode.com
首页 > 其他好文 > 详细

接口防重复提交的技术解决方案

时间:2020-07-06 19:55:13      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:网络传输   分布式锁   加锁   意思   用户   问题   机制   场景   load   

【本文完善中...】

 

无论是http接口,还是rpc接口,防重复提交(接口防重)都是绕不过的话题。

重复提交与幂等,既有区别,又有联系。幂等的意思是,对资源的一次请求与多次请求,作用是相同的。HTTP的POST方法是非幂等的。如果程序处理不好,重复提交会导致非幂等,引起系统数据故障。防重复提交,要通过技术手段来实现。保证幂等性既要通过技术手段来实现,又要有对业务数据的验证。

 

常见的B/S场景的重复提交,用户手抖或因为网络问题,服务端在极短时间内收到同样的http请求。

rpc接口的重复提交,一种是不恰当的程序调用,即程序漏洞导致重复提交。在一种,比如拿dubbo来说,因为网络传输问题,会导致重试调用。

 

防重提交的方案,常见的是加锁。java单体应用可以用语言本身的synchronized锁机制。分布式系统,一般是借助redis或zk等分布式锁。

技术图片

 

接口防重复提交的技术解决方案

标签:网络传输   分布式锁   加锁   意思   用户   问题   机制   场景   load   

原文地址:https://www.cnblogs.com/buguge/p/13256485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!