java八股-分布式服务的接口幂等性如何设计?

文章目录

原文视频链接:讲解的流程特别清晰,易懂,收获巨大

【新版Java面试专题视频教程,java八股文面试全套真题+深度详解(含大厂高频面试真题)】

https://www.bilibili.com/video/BV1yT411H7YK/?p=56\&share_source=copy_web\&vd_source=afbacdc02063c57e7a2ef256a4db9d2a

接口幂等

token + Redis

第一次请求:这里是我们点击进去某个商品页面,就会向服务端发送请求,请求获取token,这里服务端接受到请求之后吧token存储到Redis里面,接着返回token到客户端。

第二次请求:这里我们假如手贱多按了几次,提交订单,导致后面发送了好几次请求。其中只有1次是成功的,原因如下,请求req带token去服务端,服务端验证token是否存在,存在则删除token,删除了之后,其他多余的请求req来了个之后发现token没了,只能返回失败的结果,因此只有1个请求是能够被Redis验证为token存在,然后真的扣钱支付成功的!!

分布式锁

采用trylock的方式,非阻塞锁,只有能抢到锁的线程能执行完毕,这个也是保证了接口的幂等性,其余线程全部失败

相关推荐
小bo波10 小时前
从"任意文件复制"深挖Java I/O:字符流与字节流的本质抉择
java·nio·io流·后端开发·文件复制
nanxun8861 天前
记一次诡异的 Docker 容器"串包"故障排查
java
用户1563068103512 天前
Day01 | Java 基础(Java SE)
java
行者全栈架构师2 天前
Maven dependency:tree 的 8 个高级用法
java·后端
行者全栈架构师2 天前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端
令人头秃的代码0_02 天前
mac(m5)平台编译openjdk
java
唐青枫3 天前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马3 天前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户3721574261353 天前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户3721574261353 天前
Java 打印 Word 文档:从基础打印到高级设置
java