接口幂等思路

笔者项目上的一些有效的设计思路。

1、分布式锁,首选Redisson redlock。

2、可以针对是否是同一个用户、ip进行校验鉴定。防止非法用户或者非法重复访问。

3、数据库层面加唯一索引或者乐观锁(版本号等),支付领域尤为重要。并发量低的接口,谨慎使用悲观锁(select .....for update)。

4、dubbo设计之中,可以再proxy层添加token进行鉴定,假设A服务调用B服务,同一条链路上进行是否同一个token进行校验。

网上学习参考的,还有两种方式:

1、状态机幂等(已经不限于接口了,涉及到业务流程,规则引擎设计了)

2、抽取防重表(消息队列重复)。

你可能感兴趣的:(设计规范)