美文网首页
分布式系统接口幂等性

分布式系统接口幂等性

作者: Jeffery大侠 | 来源:发表于2019-09-26 21:04 被阅读0次

https://blog.csdn.net/qq_39291929/article/details/81429275(主内容)

https://www.jianshu.com/p/25f4b64e2068(token机制)

概念:对其任意次数的操作结果与一次操作的结果相同(不用担心重复执行会对系统造成改变)

业务场景:

1.绑定银行卡发送短信接口。如果APP重复点击调用后台接口,后台重复调用第三方接口,造成用户收到多条短信,一般情况下控制在60s内再重发短信,如果不做控制,每一次调用第三方接口都会收费。

2.创建订单接口。如果APP端因网络问题用户重复点击多次,会生成多个订单号,会造成系统业务问题。

解决方案:

幂等性解决方案

1.数据库表加唯一索引,防止新增脏数据。比如对订单号进行加唯一索引,防止生成重复订单。

如果不加索引的后果是:当根据订单号去支付,支付表生成两条重复的订单号,然后去支付宝、微信、易宝支付去支付,付款完成后,第三方异步回调接口,本地接口首先根据订单号查询实体,发现查询到两条,系统就会抛出异常。

2.分布式锁

利用redis,在业务系统插入数据或者更新数据,获取分布式锁,然后做操作,之后释放锁,这样其实是把多线程并发的锁的思路

3.token机制,防止重复提交

(1). 数据提交前要向服务的申请token,token放到redis中,token有效时间

(2). 提交后后台校验token,同时删除token,生成新的token返回(https://www.jianshu.com/p/25f4b64e2068)

相关文章

  • 接口的幂等性的N种考虑

    分布式服务接口的幂等性如何设计 什么是幂等性 一个分布式系统中的某个接口,要保证幂等性,该如何保证?这个事儿其实是...

  • 接口设计的幂等性考虑

    分布式系统接口幂等性 1.幂等性定义 1.1 数学定义 在数学里,幂等有两种主要的定义:- 在某二元运算下,幂等元...

  • SpringBoot接口幂等性实现的4种方案!

    目录 什么是幂等性 什么是接口幂等性 为什么需要实现幂等性 引入幂等性后对系统的影响 Restful API 接口...

  • 幂等性

    理解 HTTP 幂等性(15')系统幂等以及常用实现方式(10')分布式系统互斥性与幂等性问题的分析与解决(30')

  • 分布式系统接口幂等性

    1.幂等性定义 1.1 数学定义 在数学里,幂等有两种主要的定义: 在某二元运算下,幂等元素是指被自己重复运算(或...

  • 分布式系统接口幂等性

    https://blog.csdn.net/qq_39291929/article/details/8142927...

  • 电商课题:幂等性

    一. 断言: 幂等性的数学表达:f(f(x)) = f(x)。幂等性是系统接口对外的一种承诺。幂等性指的是,使用相...

  • 01- 接口的幂等性

    接口的幂等性 1. 接口调用存在的问题 现如今我们的系统大多拆分为分布式SOA,或者微服务,一套系统中包含了多个子...

  • JAVA开发知识点集合

    分布式 分布式系统学习资料(ing) 理解HTTP幂等性消费幂等 Dubbo Dubbo架构设计详解 跨域 关于跨...

  • 什么是接口的幂等性,如何实现接口幂等性?一文搞定

    每天一个知识点 什么是接口的幂等性,如何实现接口幂等性? (一)幂等性概念 幂等性原本是数学上的概念,用在接口上就...

网友评论

      本文标题:分布式系统接口幂等性

      本文链接:https://www.haomeiwen.com/subject/cwiuuctx.html