首页 > 代码库 > 幂等函数
幂等函数
第一次听说感觉高大上,其实也就是一个名词,没有固定的解决方案,不同的业务场景用不同方法实现。
什么是幂等?
软件开发中的幂等通常是系统接口对外的一种承诺,承诺只要调用接口成功,外部多次调用对系统的影响是一致的。
为什么要做幂等?
比如说一个提现接口:
bool withdraw(account_id, amount);
这个接口存在一个典型的调用环境:分布式系统的网络不确定性。
withdraw请求可能已经被服务器端正确处理,但服务器端的返回结果由于网络等原因被丢掉了,导致客户端无法得知处理结果。如果是在网页上,一些不恰当的设计可能会使用户认为上一次的操作失败了,然后进行重试,这就可能导致withdraw被调用两次甚至多次,账户也可能被多次扣钱。
什么时候做幂等?
- 接口可能被重复调用(http、thrift等)
- 消息可能被重复发送
- 作业可能被并发处理
- 数据可能被并发处理(乐观锁)
写的有点泛泛而谈了,并没有名词听着感觉那么高大上。
幂等函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。