博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
幂等函数
阅读量:5009 次
发布时间:2019-06-12

本文共 481 字,大约阅读时间需要 1 分钟。

第一次听说感觉高大上,其实也就是一个名词,没有固定的解决方案,不同的业务场景用不同方法实现。

什么是幂等?

  软件开发中的幂等通常是系统接口对外的一种承诺,承诺只要调用接口成功,外部多次调用对系统的影响是一致的。

为什么要做幂等?

  比如说一个提现接口:

bool withdraw(account_id, amount);

  这个接口存在一个典型的调用环境:分布式系统的网络不确定性。

  withdraw请求可能已经被服务器端正确处理,但服务器端的返回结果由于网络等原因被丢掉了,导致客户端无法得知处理结果。如果是在网页上,一些不恰当的设计可能会使用户认为上一次的操作失败了,然后进行重试,这就可能导致withdraw被调用两次甚至多次,账户也可能被多次扣钱。

什么时候做幂等?

  1. 接口可能被重复调用(http、thrift等)
  2. 消息可能被重复发送
  3. 作业可能被并发处理
  4. 数据可能被并发处理(乐观锁)

 

写的有点泛泛而谈了,并没有名词听着感觉那么高大上。

转载于:https://www.cnblogs.com/zhengbin/p/5837861.html

你可能感兴趣的文章
【题目】英文字符进行频率的统计,直方图输出
查看>>
LeetCode-Binary Tree Level Order Traversal
查看>>
COM组件开发实践
查看>>
yii2 源码分析1从入口开始
查看>>
浅谈网站推广
查看>>
Away3D基础之摄像机
查看>>
Leetcode 128. Longest Consecutive Sequence
查看>>
程序员必须知道的几个Git代码托管平台
查看>>
导电塑料入梦来
查看>>
C# 线程手册 第五章 扩展多线程应用程序 - 什么是线程池
查看>>
笔记1126ASP.NET面试题(转)
查看>>
考研路茫茫--单词情结 - HDU 2243(AC自动机+矩阵乘法)
查看>>
HTTP运行期与页面执行模型
查看>>
tableView优化方案
查看>>
近期思考(2019.07.20)
查看>>
Apache2.4使用require指令进行访问控制
查看>>
冗余关系_并查集
查看>>
做最好的自己(Be Your Personal Best)
查看>>
如何搭建github+hexo博客-转
查看>>
HW2.2
查看>>