分布式服务的接口幂等性

10

幂等:多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致

如果是新增数据,可以使用数据库的唯一索引。

如果是新增或修改数据

  • 分布式锁,性能较低。

  • 使用token+redis实现,性能较好。

    • 第一次请求,生成一个唯一的token存入redis,返回给前端。

    • 第二次请求,业务处理,携带之前的token,到redis进行验证,

      • 如果存在,执行业务,删除token;

      • 如果不存在,则直接返回,不处理业务。