關於冪等性以及怎么實現冪等性


概念

  我們實際系統中有很多操作,是不管做多少次,都應該產生一樣的效果或返回一樣的結果。

  例如:前端重復提交選中的數據,應該后台只產生對應這個數據的一個反應結果。等等很多重要的情況,這些邏輯都需要冪等的特性來支持。

 

實現方案

  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