关于幂等性以及怎么实现幂等性


概念

  我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。

  例如:前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。等等很多重要的情况,这些逻辑都需要幂等的特性来支持。

 

实现方案

  1. 数据库唯一索引,防止新增脏数据。
  2. token机制,防止重复提交。
    数据提交前要向服务的申请token,token放到redis,token有效时间 提交后后台校验token,同时删除token,生成新的token返回。
  3. 数据库悲观锁。
    select * from account where name=”xxx” for update
  4. 数据库乐观锁。
    update account set price=100,version=2 where version=1
  5. 分布式锁
    zookeeper或者redis都可实现。
  6. 对外第三方api。一般要求提供唯一字段组成唯一索引。

 

 

https://juejin.im/entry/57fec6850e3dd90057e1e47e

https://zzzzbw.cn/post/19

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM