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

相关推荐
TT哇8 分钟前
【多线程案例】:单例模式
java·单例模式·面试
黄焖鸡能干四碗27 分钟前
智慧教育,智慧校园,智慧安防学校建设解决方案(PPT+WORD)
java·大数据·开发语言·数据库·人工智能
lssjzmn35 分钟前
Spring Web 异步响应实战:从 CompletableFuture 到 ResponseBodyEmitter 的全链路优化
java·前端·后端·springboot·异步·接口优化
new_daimond1 小时前
二级缓存在实际项目中的应用
java
一只乔哇噻1 小时前
java后端工程师进修ing(研一版 || day41)
java·开发语言·学习·算法
User_芊芊君子1 小时前
【Java】设计模式——单例、工厂、代理模式
java·设计模式·代理模式
2301_803554521 小时前
正向代理,反向代理,负载均衡还有nginx
java·nginx·负载均衡
要开心吖ZSH1 小时前
软件设计师备考-(十六)数据结构及算法应用(重要)
java·数据结构·算法·软考·软件设计师
向上的车轮2 小时前
基于Java Spring Boot的云原生TodoList Demo 项目,验证云原生核心特性
java·spring boot·云原生
程序员清风2 小时前
快手一面:为什么要求用Static来修饰ThreadLocal变量?
java·后端·面试