幂等性,对应的英文是 idempotent 或者 idempotence.
简单理解就是多次执行同样的业务操作, 最终的 "结果" 保持一致。 而容易混淆的就是这个 "结果" 到底是什么结果?
很多初学者对幂等性不了解,而很多有经验的开发工程师则是对幂等性一知半解,而且不区分业务场景,容易和其他概念混为一谈。
本文简要介绍软件开发过程中涉及到的幂等性, 目的是让开发人员了解相关的背景和知识。
示例:
- 多次点击 "停用" 按钮;
- 超时重试;
查询请求 修改请求
MQ消息 Http请求 微服务请求
MQ消息的幂等性,只要最终结果都是一致的就算幂等。 HTTP请求的幂等性,只要服务端的最终结果是一致的,以及响应结果对客户端的影响也是一致的,就算是幂等。