接口幂等性

作者: 一起DP吧 | 来源:发表于2019-07-25 10:45 被阅读0次

接口幂等性

什么是接口幂等性?

简而言之即是 f(f(x))=f(x),一次执行的结果和多次执行的结果完全一致

最简单想到的实现接口幂等性(重复提交)的操作是什么?

1. 前端按钮置灰
   发起请求时置灰,等接口响应成功后恢复,可以屏蔽一大半小白用户
2. 锁
   同步锁synchronized这是最易想起的东西了,synchronized是锁住某个变量或者某个方法或者是某个代码块,来保证解决多线程访问临界区造成的数据安全问题。synchronized锁的是什么呢?它锁住的是一个实例对象,假如每个线程都会重新产生新的实例对象,它只能锁住单个线程,若系统存在负载均衡或者Spring管理的Bean,那么同步锁就不起作用了
3. 分布式锁(Redis)
   利用setnx实现,在set之前若存在则不set,否则则set,即是先占位的拿到锁,等这个key过期或者删除了释放锁。但是采用redis来做分布式锁,若过期时间没有得到控制,还得考虑redis挂掉了怎么处理,还要解锁,最终会演变成死锁等问题

最简单稍靠谱的解决方案是什么?

利用数据库的唯一约束解决
public void save(String 某个字段1,String 某个字段2){
    try{
        insert(某个字段1,某个字段2);
    }catch (Exception e){
        e.printStackTrace();
        throw new Exception ("已存在!");
    }
}

对参数设置unique约束,若存在则抛异常

相关文章

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

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

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

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

  • 接口幂等性

    接口幂等性 什么是接口幂等性? 最简单想到的实现接口幂等性(重复提交)的操作是什么? 最简单稍靠谱的解决方案是什么?

  • 接口幂等性书目录

    1.幂等性定义 1.1 数学定义 1.2 HTTP规范的定义 2. 何种接口提供幂等性 2.1 HTTP支持幂等性...

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

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

  • 接口幂等性

    什么是接口幂等性? 幂等是数学和计算机学的概念,常见于抽象代数中,即f(f(x)) = f(x)。简单来讲就是接口...

  • 接口幂等性

    学习缘由 幂等性这个词很高大上,但是又不明白其中含义,因此查资料进行理解学习。参考原文:路人甲java 什么是幂等...

  • 接口幂等性

    一、概念 当微服务之间调用时服务A向服务B重复发送消息或者用户多次点击导致重复操作数据库。 例如支付订单接口,如果...

  • 接口幂等性

    含义:接口可重复调用后,在调用方多次调用的情况下,接口最终得到的结果是一致的。 有些接口天然具备幂等性,如查询接口...

  • 接口幂等性

    描述 幂等性是指一次操作和多次操作产生的结果一致。操作后的结果有三种状态,成功、失败、超时。在超时重试时就需要该操...

网友评论

    本文标题:接口幂等性

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