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

高并发下如何保证接口幂等

文章目录

  • 1. insert前先select
  • 2. 加悲观锁
  • 3. 加乐观锁
  • 4. 加唯一索引
  • 5. 建防重表
  • 6. 根据状态机
  • 7. 加分布式锁
  • 8. 获取token

接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴一个参考。

不知道你有没有遇到过这些场景:

  1. 有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。
  2. 我们在项目中为了解决接口超时问题,通常会引入了重试机制。第一次请求接口超时了,请求方没能及时获取返回结果(此时有可能已经成功了),为了避免返回错误的结果(这种情况不可能直接返回失败吧?),于是会对该请求重试几次,这样也会产生重复的数据。
  3. mq消费者在读取消息时,有时候会读取到重复消息(至于什么原因这里先不说,有兴趣的小伙伴,可以找我私聊),如果处理不好,也会产生重复的数据。

没错,这些都是幂等性问题。

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

相关文章:

  • Retrofit源码分析小结
  • 【从零开始学习 UVM】11.4、UVM Register Layer —— UVM Register Model 实战项目(RAL实战,交通灯为例)
  • session和token的登录机制
  • 大厂研发成本大曝光,研发占大头
  • python爬虫第一节基础概念
  • web学习---Vue---笔记(1)
  • 【前端面试题——微信小程序】
  • gpt模型训练-gpt3模型详解
  • vue尚品汇商城项目-day04【27.分页器静态组件(难点)】
  • 使用SeaFile搭建私有云盘并公网访问【cpolar内网穿透】
  • 蓝桥杯第26天(Python)考前挣扎
  • WuThreat身份安全云-TVD每日漏洞情报-2023-04-04
  • 【C++】Step by Step的格式化代码风格是这样的吗?
  • aspnet030高校学生团体管理系统sqlserver
  • 学习HM微博项目第10天
  • 0204强连通性-有向图-数据结构和算法(Java)
  • ElasticSearch集群
  • 音视频基础概念(6)——视频基础
  • 【Python网络蜘蛛】基础 - 多线程和多进程的基本原理
  • linux C/C++文件路径操作
  • Baumer工业相机堡盟相机如何使用BGAPI SDK和Opencv联动实现图像转换成视频(C#)
  • Redis常用命令以及如何在Java中操作Redis
  • ASEMI代理AD7980BRMZRL7原装ADI(亚德诺)车规级AD7980BRMZRL7
  • leetcode141:环形链表
  • lattice diamond软件使用
  • scala泛型
  • 程序员与ChatGPT的日常问答
  • 如何创建高效的Prompt和ChatGPT等大语言模型AI对话
  • 043:cesium加载Bing地图(多种形式)
  • vscode代码片段生成