zoukankan      html  css  js  c++  java
  • 接口幂等性

    什么是接口幂等性?

    他描述了一次或者多次请求某一个资源对于资源本身应该具有同样的结果。

    为什么要实现接口幂等性?

    使用幂等性最大的优势在于使接口保证任何幂等性操作,免去因重试等造成系统产生的未知的问题。

    如何实现接口幂等性?

    1、数据库唯一主键实现幂等性

    数据库唯一主键的实现主要是利用数据库中主键唯一约束的特性,使用分布式 ID 充当主键,保证在分布式环境下 ID 的全局唯一性。

    适用操作:插入,删除

    2、数据库乐观锁实现幂等性

    数据库乐观锁方案一般只能适用于执行更新操作的过程,我们可以提前在对应的数据表中多添加一个字段,充当当前数据的版本标识。如:新增一个visoion字段每次更新进行判断更新

    适用操作:更新

    3、防重 Token 令牌实现幂等性

    调用方在调用接口的时候先向后端请求一个全局 ID(Token),请求的时候携带这个全局 ID 一起请求(Token 最好将其放到 Headers 中),后端需要对这个Token 作为 Key,用户信息作为 Value 到 Redis 中进行键值内容校验,如果 Key 存在且Value 匹配就执行删除命令,然后正常执行后面的业务逻辑。如果不存在对应的 Key 或Value 不匹配就返回重复执行的错误信息,这样来保证幂等操作。

     适用操作:插入,更新,删除

  • 相关阅读:
    goland 安装包激活码
    go目录文件
    php 单表数据转化为json格式
    thinkphp分页查询,后台处理怎么做
    用js 获取url 参数 页面跳转 ? 后的参数
    约瑟夫问题
    openstack配置
    Python数据结构
    Python常用排序算法
    scrapy使用
  • 原文地址:https://www.cnblogs.com/DIVEY/p/14892116.html
Copyright © 2011-2022 走看看