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的方式,非阻塞锁,只有能抢到锁的线程能执行完毕,这个也是保证了接口的幂等性,其余线程全部失败

相关推荐
奋进的小暄39 分钟前
数据结构(java)栈与队列
java·开发语言·数据结构
SnXJi_40 分钟前
纷析云开源财务软件:企业财务数字化转型的灵活解决方案
java·gitee·开源·开源软件
pingzhuyan1 小时前
03(总)-docker篇 Dockerfile镜像制作(jdk,jar)与jar包制作成docker容器方式
java·docker·jar
caihuayuan42 小时前
Redis奇幻之旅(三)1.redis客户端与服务端
java·大数据·sql·spring·课程设计
匆匆整棹还3 小时前
关于tomcat乱码和idea中控制台乱码的问题
java·tomcat·intellij-idea
何似在人间5754 小时前
SpringAI+DeepSeek大模型应用开发——1 AI概述
java·人工智能·spring·springai
匹马夕阳4 小时前
Java开发中的设计模式之观察者模式详细讲解
java·观察者模式·设计模式
风铃儿~4 小时前
Java微服务注册中心深度解析:环境隔离、分级模型与Eureka/Nacos对比
java·分布式·微服务·面试
赤橙红的黄4 小时前
Spring Boot中接入DeepSeek的流式输出
java·服务器·javascript
小样vvv4 小时前
【AI】IDEA 集成 AI 工具的背景与意义
java·人工智能·intellij-idea