当前位置: 首页 > news >正文

如何保证分布式情况下的幂等性

关于这个分布式服务的幂等性,这是在使用分布式服务的时候会经常遇到的问题,比如,重复提交的问题。而幂等性,就是为了解决问题存在的一个概念了。

什么是幂等
幂等(idempotent、idempotence)是⼀个数学与计算机学概念,常⻅于抽象代数中。

在编程中⼀个幂等操作的特点是其任意多次执⾏所产⽣的影响均与⼀次执⾏的影响相同。幂等函数,或 幂等⽅法,是指可以使⽤相同参数重复执⾏,并能获得相同结果的函数。这些函数不会影响系统状态, 也不⽤担⼼重复执⾏会对系统造成改变。例如,“setTrue()”函数就是⼀个幂等函数,⽆论多次执⾏,其结 果都是⼀样的,更复杂的操作幂等保证是利⽤唯⼀交易号(流⽔号)实现.

接⼝幂等性就是⽤户对于同⼀操作发起的⼀次请求或者多次请求的结果是⼀致的,不会因为多次点击⽽ 产⽣了副作⽤。

什么是接口的幂等性
在HTTP/1.1中,对幂等性进行了定义。它描述了一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外),即第一次请求的时候对资源产生了副作用,但是以后的多次请求都不会再对资源产生副作用。这里的副作用是不会对结果产生破坏或者产生不可预料的结果。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。

不能保证幂等性的操作
前端重复提交表单:在填写一些表格时候,用户填写完成提交,很多时候会因网络波动没有及时对用户做出提交成功响应,致使用户认为没有成功提交,然后一直点提交按钮,这时就会发生重复提交表单请求。

用户恶意进行刷单:例如在实现用户投票这种功能时,如果用户针对一个用户进行重复提交投票,这样会导致接口接收到用户重复提交的投票信息,这样会使投票结果

相关文章:

  • HTML列表
  • 【Cargo Therapeutics】申请1亿美元纳斯达克IPO上市
  • 任正非说:如此华为公司怎么会垮掉呢?我坚信华为红旗永不倒!
  • python企业微信小程序发送信息
  • vue实现一个账号在同一时间只有一个能登录的效果
  • 安卓现代化开发系列——从生命周期到Lifecycle
  • metaRTC集成flutter ui demo编译指南
  • 主播直播美颜SDK:提升颜值的秘诀
  • 【韵律之声】
  • xcode 安装及运行个人app编程应用
  • Linux 宝典
  • ♥ uniapp 环境搭建
  • AD教程(四)排针类元件模型的创建
  • Python Django 之模板继承详解(extends)
  • mpp解码详解
  • 如何修改MinIO Share时的URL
  • 【索引】激光SLAM优质博客-专栏-博主索引
  • 518抽奖软件,可从Excel~Word~Pdf~网页导入名单
  • mybarisplus插件(分页与乐观锁)
  • 基于”Python+”多技术融合在蒸散发与植被总初级生产力估算中的实践应用
  • 珠海网站制作网络公司/百度一下图片识别
  • 做外贸网站建设/百度收录平台
  • 邹城建设银行网站/广告牌
  • 建设报名系统这个网站是真是假/白帽seo
  • 企信网企业信息查询平台官网/上海百度推广优化排名
  • 成都网站备案太慢/百度自然排名优化