E3 2021:《切爾諾貝利人》新演示公佈 展示遊戲場景
阿新 • • 發佈:2021-06-12
什麼是介面冪等性?
他描述了一次或者多次請求某一個資源對於資源本身應該具有同樣的結果。
為什麼要實現介面冪等性?
使用冪等性最大的優勢在於使介面保證任何冪等性操作,免去因重試等造成系統產生的未知的問題。
如何實現介面冪等性?
1、資料庫唯一主鍵實現冪等性
資料庫唯一主鍵的實現主要是利用資料庫中主鍵唯一約束的特性,使用分散式 ID 充當主鍵,保證在分散式環境下 ID 的全域性唯一性。
適用操作:插入,刪除
2、資料庫樂觀鎖實現冪等性
資料庫樂觀鎖方案一般只能適用於執行更新操作的過程,我們可以提前在對應的資料表中多新增一個欄位,充當當前資料的版本標識。如:新增一個visoion欄位每次更新進行判斷更新
適用操作:更新
3、防重 Token 令牌實現冪等性
呼叫方在呼叫介面的時候先向後端請求一個全域性ID(Token)
,請求的時候攜帶這個全域性ID
一起請求(Token
最好將其放到Headers
中),後端需要對這個Token
作為Key
,使用者資訊作為Value
到Redis
中進行鍵值內容校驗,如果Key
存在且Value
匹配就執行刪除命令,然後正常執行後面的業務邏輯。如果不存在對應的Key
或Value
不匹配就返回重複執行的錯誤資訊,這樣來保證冪等操作。
適用操作:插入,更新,刪除