后端怎样防止重复提交订单?

参考文章

通常我们可以在前端通过防抖和节流来解决短时间内请求重复提交的问题,

如果因网络问题、Nginx重试机制、微服务Feign重试机制或者用户故意绕过前端防抖和节流设置,直接频繁发起请求,都会导致系统防重请求失败,甚至导致后台产生多条重复记录,此时我们需要考虑在后台增加防重设置。

考虑到微服务分布式的场景,可以通过使用Redisson分布式锁+自定义注解+AOP的 方式来实现后台防止重复请求的功能,

基本实现思路:

  1. 通过在需要防重的接口添加自定义防重注解,设置防重参数
  2. 通过AOP拦截请求参数,根据注解配置,生成分布式锁的Key,并设置有效时间。
  3. 每次请求访问时,都会尝试获取锁,如果获取到,则执行,如果获取不到,那么说明请求在设置的重复请求间隔内,返回请勿频繁请求提示信息。
相关推荐
橘子编程2 分钟前
密码学完全指南:从基础到实战
java·python·密码学
J2虾虾14 分钟前
使用Idea当Jar包的反编译
java·intellij-idea·jar
白露与泡影22 分钟前
2026 全新 Java 面试题汇总(含答案)
java·开发语言
likerhood24 分钟前
IDEA中创建和运行java项目的常见操作
java·ide·intellij-idea
计算机学姐1 小时前
基于SpringBoot的房屋交易系统
java·vue.js·spring boot·后端·spring·intellij-idea·mybatis
CQU_JIAKE1 小时前
4.12[A]
java
小二李1 小时前
什么是依赖注入(DI)&控制反转IoC
java·开发语言
今夕资源网1 小时前
indextts API 阅读 API 重磅升级!低延迟 + 音色管理 + 缓存全拉满 支持开源阅读小说软件,其他软件应该也通用
java·后端·spring
是宇写的啊1 小时前
SpringIoc和Di
java·开发语言
lifallen1 小时前
Paimon 与 ForSt 场景选型分析
java·大数据·flink