什么是幂等运算?

什么是幂等运算?

慕尼黑的夜晚无繁华
浏览 986回答 3
3回答

忽然笑

幂等运算可以重复任意次数,其结果将与只执行一次相同。在算术中,把零加到一个数字是幂等的。在“RESTful”Web服务的上下文中,人们谈论了很多Idempotence。REST寻求最大限度地利用HTTP来让程序访问Web内容,并且通常设置为与基于SOAP的Web服务相反,后者只是在HTTP请求和响应中隧道远程过程调用样式的服务。REST将Web应用程序组织为“Resources”(如Twitter用户或Flickr映像),然后使用POST、PUT、GET和DELETE的HTTP谓词来创建、更新、读取和删除这些资源。精神在休息中起着重要的作用。如果您获得REST资源的表示(例如,从Flickr获取jpeg映像),而操作失败,则只需一次又一次地重复GET,直到操作成功。对于Web服务来说,获取图像多少次并不重要。同样,如果您使用RESTfulWeb服务来更新您的Twitter帐户信息,您可以将新信息放入所需的次数,以便从Web服务获得确认。把它放一千次和放一次是一样的。类似地,删除一个REST资源一千次与删除它一次是一样的。因此,Idempotence使构建一个能够抵御通信错误的Web服务变得更加容易。

慕侠2389804

Idempotence意味着一次或多次使用一次或多次操作都有相同的效果。例子:乘积为零。不管你做了多少次,结果仍然是零。设置布尔标志。不管你做了多少次,旗子都是固定的。使用给定的ID从数据库中删除一行。如果再次尝试,该行仍将消失。为纯函数(无副作用的函数)那么幂等性意味着f(X)=.对于x的所有值为有副作用的功能,幂等效应还意味着第一次应用后不会产生额外的副作用。如果您愿意,可以将这个世界的状态看作是函数的附加“隐藏”参数。请注意,在有并发操作的世界中,您可能会发现您认为是幂等的操作不再是幂等的(例如,另一个线程可以在上面的示例中取消布尔标志的值)。基本上,当您拥有并发和可变状态时,您需要更仔细地考虑幂等性。幂等性通常是构建鲁棒系统的一个有用的属性。例如,如果您可能收到来自第三方的重复消息的风险,则让消息处理程序充当幂等操作以使消息效果只发生一次是有帮助的。
打开App,查看更多内容
随时随地看视频慕课网APP