暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
【概念篇】_幂等性_01(1)
668
4页
7次
2019-09-27
免费下载

【概念篇】嘛是幂等性?
今天被问到一个问题,数据库中哪些操作具有幂等性。恩?当时听了很迷瞪,平时管理数据库,一些操作
也没碰到幂等性这个说法啊。鉴于此,今天学习下幂等性是个嘛?!

幂等性是个啥?

幂等性有什么用?

怎样保证幂等性?

幂等性有啥不足?
幂等(

)是一个数学与计算机学概念,常见于抽象代数中。
幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响
系统状态,也不用担心重复执行会对系统造成改变。
幂等性衍生到软件工程中

它的语义是指

函数
接口可以使用相同的参数重复执行

不应该影响系统状
也不会对系统造成改变。
在编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。第一次请求的
时候对资源产生了副作用,但是以后的多次请求都不会再对资源产生副作用。这里的副作用是不会对结果
产生破坏或者产生不可预料的结果。

中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时
等问题除外)。
总的来说,幂等性是指:
任意多次执行对资源本身所产生的影响均与一次执行的影响相同。
 !"#$%&
'()*#+$,+$
幂等就是对于操作的一求或次请结果致的会因次点
用)而产生了副作用。即幂等性
-
多次执行结果一致
.
无副作用。
举例:
数据库
/0
操作:
查询(

)方法本身就是幂等性的,虽然多次执行可能返回结果不一致,但是没有任何副作用。
插入
!%
和修改
!$%
方法是非幂等性的,需要通过机制在需要的场景处理以确保多次执行无副作用。
删除(

)执行一次或多次都是结果为空(即结果一致),并且无副作用,所以在根据主键
1/
删除可
以认为是(伪)幂等性的,根据非主键删除的如果多次执行无副作用(都是把数据删除),也可以认为是
(伪)幂等性。
幂等性需关注几个重点:
1.
幂等不仅仅只是一次(或多次)请求对资源没有副作用(比如查询数据库操作,没有增删改,因此
没有对数据库有任何影响)。
2.
幂等还包括第一次请求的时候对资源产生了副作用,但是以后的多次请求都不会再对资源产生副作
用。
3.
幂等关注的是以后的多次请求是否对资源产生的副作用,而不关注结果。
4.
网络超时等问题,不是幂等的讨论范围。
注意
:
幂等性是系统服务对外一种承诺(而不是实现),承诺只要调用接口成功,外部多次调用对系统的影响是
一致的。声明为幂等的服务会认为外部调用失败是常态,并且失败之后必然会有重试。
什么情况下需要保证幂等性?
业务开发中,经常会遇到重复提的情况,无论是于网络问题无法到请求结果而重发起请求,或是
前端的操抖动而造成重复提况。
统这种重成的问题
如:
1.
用户在
APP
上连续点击了多次提交订单,后应该只产生一个订单;
2.
向支付宝发起支付请求,于网络问题或系统
BUG
重发,支付宝应该只一次
然,声明幂等的服务认为,外部调用者会在多次调用的情况,为了防止外部多次调用对系统数据状
态的发生多次改变,服务计成幂等。
为什么要计幂等性的服务
幂等可以使得端逻辑处理变得简单,但是以服务逻辑变得复为代足幂等服务的需要在逻辑
至少含两点:
1.
首先去查询一次的执行状态,如果没有认为是第一次请求
2.
在服务改变状态的业务逻辑前,保证重复提逻辑

建立唯引,防止新数据
制重复插入数据,当重复时,数据库会抛异常,保证不会数据。但体验,并且实用场景有
制。使全局唯
1/
,就是根据业务的操作
!
业务类型
%
内容生成一全局
1/
,在执行操前先根据这
局唯
1/
是否,来判断个操作是执行。如全局
1/
存储系统
比如数据库、

等。如果则表示该方法经执行,这个全局
1/
有时性。
of 4
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜