一、幂等性是什么
数学上的定义:f(f(x)) = f(x)。x被函数f作用一次和作用无限次的结果是一样的。幂等性应用在软件系统中,我把它简单定义为:某个函数或者某个接口使用相同参数调用一次或者无限次,其造成的后果是一样的
。在实际应用中一般针对接口进行幂等性设计。
举个栗子,以下场景需要保持幂等性:系统A调用系统B的接口进行用户的扣费操作时,由于网络不稳定,A重试了N次该请求,那么不管B是否接收到多少次请求,都应该保证只会扣除该用户的一次费用。
二、哪些场景需要保持幂等性呢?
三、如何来保证幂等性?