根据这个定义幂等性的回答,我明白了什么是幂等性。 但是我也听到很多人将这种行为描述为“去重”。这是否是等效的术语? 例如,如果一个API是幂等的,那么对于相同的请求被处理N次,得到的状态会与一次相同。我可以说这个API在去重请求吗?
这两个术语并不等同,尽管对于不熟悉幂等性的人来说,将其初步基于与去重相似之处可能会有所帮助。以银行账户的API为例,该API接受一个正数或负数来调整账户余额(存款或取款)。显然,这个API不是幂等的,因为连续的交易具有累积效应。另一方面,我们肯定希望对这些交易进行去重。如果交易#123被错误地提交两次,它应该仅适用于账户余额一次。在这种情况下,需要对交易进行去重,因为API不是幂等的。去重是一项活动:一项要执行的操作。幂等性是一个属性:一种要描述的属性。当去重的结果与幂等性的效果相同时,即状态没有改变时,两者之间存在相似之处。但是,等效的结果并不意味着这两个术语是等同的。