1、什么是接口幂等性
同一个数据短时间内调用多次调用一个接口只允许一次成功。
2、幂等性引发的问题
拿交易来说多次请求如果不防止幂等的话回造成重复扣款,商品多次点击会导致库存与实际不符。
3、如何解决幂等性
解决幂等性需前台与后台统一增加限制
1)、客户端
1、增加按钮点击限制,例如大多数短信码验证点击发送短信后按钮置灰等待指定时间过后才可再次进行点击。
2、页面点击后进行转发跳转到一个新的页面。
2)、服务端
1、针对当前订单或用户生成单独的令牌,次令牌限制令牌的使用次数以及间隔时间。
2、基于分布式锁进行实现(redis,Zookeeper)。
3、基于数据库的唯一索引进行时间。
4、基于数据库乐观锁,悲观锁实现。
5、数据库中增加对相关数据的状态配置。
网友评论