哪些场景需要用到幂等?

511次阅读  |  发布于5月以前

幂等性是计算机科学和数学中的一个概念,它描述了一种运算,这种运算可以多次使用,而不会改变初次使用后的结果。换句话说,如果你应用一次或多次幂等运算,结果都是一样的。

在数学中,一个操作 f 如果满足以下条件,就是幂等的:

在计算机科学中,幂等性通常是指系统中的操作或请求,尤其是在 HTTP 方法中。例如,HTTP GET 方法是幂等的,因为调用一次或多次都不会改变服务器的状态。

在操作可能被重试或执行多次的情况下,幂等性至关重要。以下是幂等性至关重要的 6 大使用案例:

01 RESTful API 请求

我们需要确保重试 API 请求不会导致同一操作被多次执行。实施幂等方法(如 PUT 和 DELETE)以保持一致的资源状态。

02 支付处理

我们需要确保客户不会因为重试或网络问题而被多次收费。支付网关经常需要重试交易;幂等可确保只收取一次费用。

03 订单管理系统

我们需要确保多次提交订单只会产生一个订单。我们要设计一种安全机制,防止重复扣除或更新库存。

04 数据库操作

我们需要确保重新应用交易不会改变数据库状态,而不会超出最初应用的范围。

05 用户账户管理

我们需要确保重试注册请求不会创建多个用户账户。此外,我们还需要确保多个密码重置请求只产生一个重置操作。

06 分布式系统和信息传递

我们需要确保重新处理队列中的消息不会导致重复处理。我们实施的处理程序可以多次处理同一消息而不会产生副作用。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8