面试精选

并发情况下幂等性(&多次提交问题) 处理

2021-03-10  本文已影响0人  dylan丶QAQ

在工作中经常遇到数据重复的问题,产生的脏数据有的影响比较小,有的就影响比较大了。最近遇到这个问题,就记录一下,并附上解决方案。一起干饭!


1.幂等性概念

幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。

在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。(百度百科)

2.什么情况下需要幂等性

并不是所有的业务都需要幂等性,要根据实际业务确定是否需要幂等性。在我看来,幂等性的重点还是外界对接口的干扰性问题。

3. 保证幂等性的策略分析

保证幂等性的核心思想:通过一个唯一序号保证幂等(如果一个业务操作我们赋予它一个唯一业务id,如果这个业务操作内容一样,那么这个业务id就不变,这个时候有多个一模一样的业务id到后台,就可以进行判断了)

非并发情况下只需要查询这个业务单号是否有操作过,如果没有执行即可

并发情况整个过程用加锁来实现

4. 业务操作的幂等性分析

5. 幂等性的具体设计分析

6. 利用spring AOP /Redis 实现各种情况下 防止接口重复提交问题

实现各种情况下 防止接口重复提交问题

上一篇 下一篇

猜你喜欢

热点阅读