Skip to content

Latest commit

 

History

History
49 lines (27 loc) · 1.72 KB

File metadata and controls

49 lines (27 loc) · 1.72 KB

软件开发中的幂等性

幂等性,对应的英文是 idempotent 或者 idempotence.

简单理解就是多次执行同样的业务操作, 最终的 "结果" 保持一致。 而容易混淆的就是这个 "结果" 到底是什么结果?

很多初学者对幂等性不了解,而很多有经验的开发工程师则是对幂等性一知半解,而且不区分业务场景,容易和其他概念混为一谈。

本文简要介绍软件开发过程中涉及到的幂等性, 目的是让开发人员了解相关的背景和知识。

示例:

  • 多次点击 "停用" 按钮;
  • 超时重试;

业务类型

查询请求 修改请求

消息类型

MQ消息 Http请求 微服务请求

业务幂等性

MQ消息的幂等性,只要最终结果都是一致的就算幂等。 HTTP请求的幂等性,只要服务端的最终结果是一致的,以及响应结果对客户端的影响也是一致的,就算是幂等。

扩展阅读