接口幂等设计思考

在一些比较关键的接口,尤其是涉及到钱的情况下,幂等设计非常必要。所谓接口的幂等,就是说不管请求多少次,导致的结果都是一样的。注意这里是导致的结果,不是说返回的结果,比如说有个派券接口,给用户派发同一个优惠券,第一次返回是派发成功,第二次返回是已存在优惠券,重复调用多次虽然返回结果不一样,但是对用户的造成的影响是一样的 -- 用户领取到一张优惠券,这种情况我认为这个接口仍然是幂等的。

这里要区分与防重复提交的区别,两者在时效性上有所区别,防重复提交更多的是在一定时间段内防止用户提交多次,当然如果接口是幂等的,也就没必要做防止重复提交了,因为不管请求多少次结果都是一样的。

幂等的关键在于,可以持续性明确地确认请求的唯一性,如果不能确认请求的唯一性,就没有办法做到幂等,最多只能做到防止重新提交。

 

posted @ 2017-11-01 23:25  vicente.yang  阅读(291)  评论(0)    收藏  举报