跳到主要内容

幂等性

一、什么是幂等?

在计算机科学和网络通信中,幂等指一个操作无论执行多少次,其结果都是一致的。换句话说,对于相同的输入,无论进行多少次重复操作,都应该保持其结果一致。

  • 读:不对底层数据产生变化,天然支持幂等,如HTTP:GET(DELETE请求也是幂等的)

  • 写:会修改底层数据,无法保证幂等,如HTTP:POST/PUT

二、幂等产生原因

在Web应用程序中,导致幂等的原因一般分为:

  • 网络延迟导致的请求重试
  • 前端用户的重复操作请求
  • 第三方中间件的重试机制(如MQ)

当重复请求(相同输入的重复操作)进入系统中时,如果接口不具备幂等性,可能会导致:

  • 状态不一致
  • 数据重复提交