当前位置 : 主页 > 编程语言 > java >

分布式服务的接口幂等性如何设计 笔记

来源:互联网 收集:自由互联 发布时间:2023-09-03
幂等: 多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。 需要幂等场景:用户重复点击(网络波动) MQ消息重复 应用使用失败或超时重试机制

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

需要幂等场景:用户重复点击(网络波动) MQ消息重复 应用使用失败或超时重试机制

分布式服务的接口幂等性如何设计 笔记_redis

1.数据库唯一索引(新增)

不建议使用

2.token+redis(新增、修改

分布式服务的接口幂等性如何设计 笔记_幂等_02

3.分布式锁(新增、修改

快速失败(抢不到锁的线程)控制锁的粒度

分布式服务的接口幂等性如何设计 笔记_redis_03

分布式锁,性能较低

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

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

第二次请求,业务处理,携带之前的token,到redis进行验证,如果存在,可以执行业务,删除token;

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


网友评论