什么是幂等
- 数学角度
f(n) = 1^n 。无论n等于多少,f(n)永远值等于1
- 编程角度
-
程序无论执行多少次,其产生的结果均与一次执行相同,不会因为重复执行会对系统造成改变
为什么要做幂等
之所以强调幂等,原因在于接口不幂等时,在某些场景下会引发严重的问题:支付、退款、结算等场景时,由于重复点击/操作后,进行了二次处理,导致重复扣款,重复退款,错误结算问题。这时候凡事碰到此问题的用户恐怕心情瞬间崩溃了:
f(n) = 1^n 。无论n等于多少,f(n)永远值等于1
程序无论执行多少次,其产生的结果均与一次执行相同,不会因为重复执行会对系统造成改变
之所以强调幂等,原因在于接口不幂等时,在某些场景下会引发严重的问题:支付、退款、结算等场景时,由于重复点击/操作后,进行了二次处理,导致重复扣款,重复退款,错误结算问题。这时候凡事碰到此问题的用户恐怕心情瞬间崩溃了: