当前位置: 首页 > news >正文

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

文章目录

  • 接口幂等
  • token + Redis
  • 分布式锁

原文视频链接:讲解的流程特别清晰,易懂,收获巨大
【新版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的方式,非阻塞锁,只有能抢到锁的线程能执行完毕,这个也是保证了接口的幂等性,其余线程全部失败
在这里插入图片描述

http://www.lryc.cn/news/492567.html

相关文章:

  • vscode python code runner执行乱码
  • Java中的继承详解
  • kafka进阶_2.存储消息
  • 如何启用本机GPU硬件加速猿大师播放器网页同时播放多路RTSP H.265 1080P高清摄像头RTSP视频流?
  • 如何更好地设计SaaS系统架构
  • 表征对齐在训练DiT模型中的重要性
  • Qt中CMakeLists.txt解释大全
  • 【在 PyTorch 中使用 tqdm 显示训练进度条,并解决常见错误TypeError: ‘module‘ object is not callable】
  • 数据结构-堆的实现和应用
  • 数据分析的尽头是web APP?
  • YOLO系列论文综述(从YOLOv1到YOLOv11)【第3篇:YOLOv1——YOLO的开山之作】
  • 容器和它的隔离机制
  • 【数据结构与算法】排序算法总结:冒泡 / 快排 / 直接插入 / 希尔 / 简单选择 / 堆排序 / 归并排序
  • Windows Serv 2019 虚拟机 安装Oracle19c,图文详情(超详细)
  • 数字孪生开发之 Three.js 插件资源库(2)
  • 小米C++ 面试题及参考答案下(120道面试题覆盖各种类型八股文)
  • OpenOCD之J-Link下载
  • 华为云云连接+squid进行正向代理上网冲浪
  • 情绪识别项目
  • 【RISC-V CPU debug 专栏 2.2 -- Hart DM States】
  • 从零样本到少样本学习:一文读懂 Zero-shot、One-shot 和 Few-shot 的核心原理与应用!
  • 【LC】3101. 交替子数组计数
  • 如何构建SAAS项目
  • 树莓派搭建NextCloud:给数据一个安全的家
  • 深入解读 MongoDB 查询耗时:Execution 和 Fetching 阶段详解
  • frida_hook_dlopen(当年到lib目录下找发现一个so都没有,hook下dlopen)
  • Zero to JupyterHub with Kubernetes中篇 - Kubernetes 常规使用记录
  • WordCloud去掉停用词(fit_words+generate)的2种用法
  • Python 中如何处理异常?
  • C++——多态(下)