熱線電話:13121318867

登錄
首頁大數據時代聊一聊冪等策略分析那些事
聊一聊冪等策略分析那些事
2020-08-06
收藏

不知道大家有沒有遇到這樣的問題,購物節搶購商品的時候,由于搶購人數比較多,網絡或者系統會很慢,這時候我們擔心自己沒有搶到,一般都會多點擊幾次購買按鈕,可是這時候就會出現問題,有可能我們點擊了三次,就會生成三個訂單,付款的時候一地昂要看清楚了!像是這種情況就涉及到冪等性問題了,不多說了,快跟小編一起來看冪等策略分析吧。

一、冪等性概念

1.冪等概念是從數學中來的,表示N次變換和1次變換的結果是相同的。結合上面的例子,可以理解為,客戶端在調用服務時并沒有達到預期結果,就會會進行多次調用,為避免多次重復的調用對服務資源產生副作用,服務提供者會承諾滿足冪等。

我們理解時需要注意以下幾點:

(1)冪等不僅僅只是一次(或者多次)請求對資源沒有副作用,還包括第一次請求時對資源產生了副作用,但是以后的多次請求,不會再對資源產生副作用。

(2)冪等關注的是以后的多次請求是否會對資源產生的副作用,而不關注結果。

2.常見場景

1.用戶在購物時連續多次點擊了提交訂單,后臺應該只產生一個訂單

2.用戶發起一筆付款請求,如果遇到網絡問題或者系統bug,需要重發,也只應該只扣一次錢

3. 發送消息,也應該只發一次,同樣內容發送給用戶,用戶會哭的;

4. 創建業務訂單,一次業務請求只能創建一個訂單,如果創建多個,就會導致大問題。

二、冪等的必要

1.冪等能夠使客戶端邏輯處理變得相對簡單(相對的,卻使得服務邏輯變得復雜),滿足冪等服務,需要在邏輯中至少包含以下兩點:

(1)首先要查詢上一次的執行狀態,如果沒有那么就認為是第一次請求

(2)在服務改變狀態的業務邏輯前,保證防重復提交的邏輯

2.冪等與防重

(1)重復提交是指,第一次請求已經成功,而人為的進行多次操作,導致不滿足冪等要求的服務多次改變狀態。

(2)冪等一般是指,第一次請求不知道結果(例如超時)或者失敗的異常情況下,發起多次請求,這樣做的目的是對第一次請求成功進行確認,并不會因為多次請求而出現多次狀態變化。

三、保證冪等策略

冪等是需要通過唯一的業務單號來進行保證的。也就是,相同的業務單號,認為是同一筆業務。以這一唯一的業務單號,對后面多次的相同的業務單號的處理邏輯和執行效果的一致性進行確保。

以上面提交訂單為例,在不考慮并發的情況下,可以簡單實現冪等:

(1)首先查詢訂單是否已經提交成功;

(2)若已經提交成功,那么就返回提交成功;若沒有提交成功,那么就進入提交頁面。

以上就是小編今天跟大家分享的關于冪等策略分析的內容了,關于冪等性還涉及到很多方面,例如什么情況下需要冪等,冪等的不足等等,大家需要去深入了解和學習。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢