87 分佈式rpc接口冪等性解決方案

1,什麼是冪等概念?冪等發生的場景有哪些?

2,rpc調用接口冪等產生的背景;調用接口不通。

3,rpc調用接口使用全局id到底是否靠譜?
4,如何手寫RPC調用接口重試策略?
5,rpc調用接口insct接口如何保證冪等性問題?

6,rpc調用update如何保證數據錯亂問題?
7,MQ如何防止消費者冪等性問題?
8,定時任務如何保證冪等性問題:
冪等設計

什麼是冪等?
如何防止表單重複提交?
冪等 執行多次最終結果只算一次。
RPC調用接口如何保證冪等性問題?
調用接口超時;
客戶端向服務器發送http請求,http請求基於請求與響應的,如果服務器端沒有及時響應請求給客戶端的情況下,有可能會造成客戶端會一直阻塞等待。客戶端調用服務器接口的時候,會設置一個超時時間5s-10s-30s
如果服務器端處理客戶端業務邏輯非常耗時的情況下,應該改成mq異步執行。

接口超時與接口調用不通區別?
接口超時: 服務器端實際上已經接口客戶端請求,服務器端沒有及時響應請求給客戶端。
調用不通: 服務器端已經爲宕機狀態。

當客戶端設置的超時時間<服務器端處理業務邏輯的時間,就好發生重試策略。
不斷實現重試發送。
如果重試多次還是無法獲取到響應結果請問如何處理?
1,限制重試次數3次。
2,延長客戶端調用服務器端接口時間。
3,改用mq異步執行。

如何保證接口冪等性問題:
1,接口實現insert 類型的情況下,根據全局的id提前查詢。
每次向數據庫裏插入數據之前,會先根據去哪聚的查詢在數據庫中是否存在,如果已經存在的情況下,則不會繼續插入---
方案一: 加鎖,效率非常低,將程序變爲單線程執行。
方案二: 根據全局的id,在數據庫中設置一個唯一主鍵約束。

2,接口類型是爲update的時候:

建議使用樂觀鎖的機制版本號實現
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章