Hidewnd Docs Hidewnd Docs
首页
  • 常用开发环境
  • 常用提示词
  • 常用Linux命令
  • 常用Git规范及命令
  • Java开发聊天机器人
  • word模板生成实现方案
  • 基于Go写一个极简的通讯demo
  • SpringBoot配置文件加密处理
  • SpringBoot优雅的抛出业务异常
  • 通用大模型适配器
  • 10分钟快速搭建个人博客
  • [学习笔记]Lua
  • [学习笔记]JVM
  • [学习笔记]设计模式
  • [部署笔记]搭建Typecho博客
  • [部署笔记]部署Qsign签名机
  • [部署笔记]安装PVE系统
  • [部署笔记]部署KingBaseV9电科金仓
  • 技艺成本
  • Rules
  • Setting
  • Skill
  • 剑三网站合集
  • 合并大区角色数据处理
  • 25PT冷龙峰教学笔记
  • 25PT太极宫教学笔记
  • 25PT弓月城教学笔记
关于
GitHub (opens new window)
首页
  • 常用开发环境
  • 常用提示词
  • 常用Linux命令
  • 常用Git规范及命令
  • Java开发聊天机器人
  • word模板生成实现方案
  • 基于Go写一个极简的通讯demo
  • SpringBoot配置文件加密处理
  • SpringBoot优雅的抛出业务异常
  • 通用大模型适配器
  • 10分钟快速搭建个人博客
  • [学习笔记]Lua
  • [学习笔记]JVM
  • [学习笔记]设计模式
  • [部署笔记]搭建Typecho博客
  • [部署笔记]部署Qsign签名机
  • [部署笔记]安装PVE系统
  • [部署笔记]部署KingBaseV9电科金仓
  • 技艺成本
  • Rules
  • Setting
  • Skill
  • 剑三网站合集
  • 合并大区角色数据处理
  • 25PT冷龙峰教学笔记
  • 25PT太极宫教学笔记
  • 25PT弓月城教学笔记
关于
GitHub (opens new window)
  • Cursor
  • Rules

    • caching-and-distributed-lock
    • database-entity-annotations
    • design-patterns
    • idempotency-specification
      • 幂等性定义与范围
      • 幂等 Key 设计
      • 实现方式
      • 防重复提交
      • 失败重试与补偿
    • java-21-language-specification
    • java-clean-code-effective-java-spec
    • java-entity-vo-specification
    • java-language-specification
    • logging-specification
    • openapi-and-api-doc-spec
    • persistence-repository-specification
    • rest-api-specification
    • springboot-architecture-layering
    • springboot-config-and-profiles
    • springboot-exception-and-error-code
    • springboot-testing-specification
    • validation-specification
  • Setting

  • Skill

  • Cursor
  • Rules
hidewnd
目录

接口幂等性与防重复提交规范

# 接口幂等性与防重复提交规范

# 幂等性定义与范围

  • 重复调用同一接口多次与调用一次的结果一致视为幂等
  • 对外公开的创建、支付、扣款等重要接口必须考虑幂等性

# 幂等 Key 设计

  • 幂等 Key 由业务唯一标识与操作类型构成
  • 常见组合包括 业务单号、用户标识、接口类型
idempotent:{businessType}:{businessId}
1

# 实现方式

  • 使用数据库唯一约束保证幂等,例如订单号唯一
  • 使用 Redis 记录处理中的请求与处理结果
  • 对接第三方时结合对方返回的业务单号或事务号进行校验

# 防重复提交

  • 对前端按钮通过禁用与前端校验减少重复提交
  • 后端通过分布式锁或幂等 Key 阻止并发重复处理
  • 对关键操作增加操作频率限制或滑动窗口控制

# 失败重试与补偿

  • 当调用链中存在重试机制时,在业务层实现幂等逻辑
  • 对关键操作设计补偿流程与手工处理通道
design-patterns
java-21-language-specification

← design-patterns java-21-language-specification→

github
Theme by Vdoing | Copyright © 2024-2026 Hidewnd
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式