Idempotency
Definition / 定义
幂等性:指一个操作执行一次和执行多次产生的结果相同(不会因为重复执行而造成额外副作用或状态变化)。常见于数学与计算机领域,尤其是 API、数据库与分布式系统中。(在某些语境下也可泛指“可安全重试”的特性。)
Pronunciation / 发音
/ˌaɪdəmˈpoʊtənsi/
Examples / 例句
A PUT request should have idempotency.
PUT 请求应该具备幂等性。
Idempotency is crucial in distributed systems because retries can happen when networks are unreliable, and a non-idempotent operation may create duplicate charges or orders.
在分布式系统中,幂等性非常关键,因为网络不可靠时会发生重试;若操作不幂等,可能导致重复扣款或重复下单。
Etymology / 词源
来自数学术语:由 idem(拉丁语,意为“相同的”)+ potent(意为“有力的、能产生作用的”,可追溯至拉丁语 potens)组合而来,整体含义可理解为“作用多次仍保持相同结果的性质”。在计算机科学中借用该概念来描述“重复请求/重复执行不改变最终状态”的特征。
Related Words / 相关词
Literary Works / 文学作品
- Roy Thomas Fielding:《Architectural Styles and the Design of Network-based Software Architectures》(博士论文,REST 相关,讨论 HTTP 方法的幂等属性)
- IETF:《RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content》(定义并讨论 GET/PUT/DELETE 等方法的幂等性)
- Martin Kleppmann:《Designing Data-Intensive Applications》(讨论分布式系统中的重试、去重与幂等设计)
- Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom:《Database Systems: The Complete Book》(数据库与事务语境下涉及相关概念,如重复操作与一致性)