分布式 冪等性

2021-09-25 15:38:00 字數 416 閱讀 9323

現在你的服務提供一些外部介面呼叫,然後你這個服務又是部署在多台機器上的,然後前端在操作的時候正好呼叫了請求,假如我們的業務功能是扣款,然後在負載均衡的時候你的請求被傳送到不同的機器上,所以你需要保證的就是同樣的一次請求只能成功一次,另外的需要丟棄調。那麼如何保證分布式環境下的冪等性呢?

保證冪等性主要是以下三點:

在實際的工作當中肯定需要結合不同的業務來採用不同的技術方案來實現,現在用的比較多的就是基於redis,能夠很好的解決分布式的問題。大體的思路就是當你請求完成之後再redis中塞一條資料,key就是這個請求的為的唯一標識(是什麼根據業務來定),值就是你自己定義的(用什麼自己定義就行,只要能夠有很好的的辨識度就行),看下面的流程圖:

分布式系統冪等性詳解

冪等 idempotent idempotence 是乙個數學與計算機學概念,常見於抽象代數中。在程式設計中.乙個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。冪等函式,或冪等方法,是指可以使用相同引數重複執行,並能獲得相同結果的函式。這些函式不會影響系統狀態,也不用擔心重複執行...

分布式系統 冪等性設計

web資源或api方法的冪等性是指一次和多次請求某乙個資源應該具有同樣的 冪等性是系統的介面對外一種承諾 而不是實現 承諾只要呼叫介面成功,外部多次呼叫對系統的影響是一致的。冪等性是分布式系統設計中的乙個重要概念,對超時處理 系統恢復等具有重要意義。宣告為冪等的介面會認為外部呼叫失敗是常態,並且失敗...

分布式環境下保證冪等性

分布式環境中 非分布式也一樣 在對某個進行資料新增的時候比如 點讚,使用者點讚的時候將點贊資訊存入到點讚表中,然後就是校驗點讚查詢是否存在一條記錄,考慮到一些外界原因 dubbo 重新發起請求,當然正式環境下是關閉重新請求的,插入成功後沒有給客戶端返回成功資訊等等。導致重複提交點讚資訊,這個時候資料...