java中如何保证接口的幂等性呢?

java问题王 Java经验 发布时间:2021-10-04 13:31:37 阅读数:3882 1
下文笔者讲述java代码中保证接口幂等性的方法分享,如下所示:

幂等性简介

幂等性:指一个接口,多次发起同一个请求,但是接口只会运行一次
常见的需考虑幂等性的业务,如下所示:
  1. 订单接口,一次请求禁止创建多个订单
  2. 支付接口,同一笔订单禁止重复扣款
  3. 支付宝回调接口,禁止多次回调
  4. 普通表单提交接口, 因为网络超时等原因多次点击提交, 只能成功一次等
保证幂等性的方法
  1. 唯一索引:防止新增脏数据
  2. token机制:防止页面重复提交
  3. 悲观锁:获取数据的时候加锁(锁表或锁行)
  4. 乐观锁:基于版本号version实现, 在更新数据那一刻校验数据
  5. 分布式锁:redis(jedis、redisson)或zookeeper实现
  6. 状态机:状态变更, 更新数据时判断状态
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202110/16333255431368.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者