token機制
服務端提供傳送token的介面,在分析業務的時候,哪些業務是存在冪等問題的,就必須在執行業務前,先去獲取token,伺服器會把token儲存到人redis中
然後呼叫業務介面請求時,把token攜帶過去,一般放在請求頭
伺服器判斷token是否存在redis中,存在表示第一次請求,然後刪除token,繼續執行業務
如果判斷token不存在redis中,就表示重複操作,直接返回重複標記給client,這樣保證了業務**,不被重複執行
token獲取,比較和刪除必須是原子性
各種鎖機制
資料庫悲觀鎖
資料庫樂觀鎖
業務層分布式鎖
各種唯一約束
資料庫唯一約束
redis set防重
防重表
全域性請求唯一id
介面冪等性
例如 在http協議中,get請求,會得到同樣的資料 bool get money id,amount 1引數 id 使用者的賬戶 amount 表示取多少錢 返回值 true 表示取錢成功 false 表示取錢失敗 情景一 1 一位使用者a 取100塊錢,這個請求,傳送到了伺服器 2 伺服器正常的...
介面冪等性
冪等性是系統服務對外一種承諾,承諾只要呼叫介面成功,外部多次呼叫對系統的影響是一致的。宣告為冪等的服務會認為外部呼叫失敗是常態,並且失敗之後必然會有重試 select col1 from tab1 wher col2 2,無論執行多少次都不會改變狀態,是天然的冪等。update tab1 set c...
冪等性學習及介面的冪等性
冪等性學習 一 什麼是冪等性 在這裡需要有以下幾個問題需要注意 2 冪等性不僅僅只是一次或者多次請求的時候對資源沒有 比如根據id對資料庫的查詢操作,此操作對資料庫沒有增刪改,所以多次查詢操作對資料庫結果是沒有任何影響的 3 冪等性還包括了第一次請求資源的時候,對資源產生了 但是在以後多次同樣的請求...