日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作者:季雨林
 來源:https://www.opengps.cn/Blog/View.aspx?id=426

關于怎么實現承載更多用戶量的系統,一直是我重點關注的一個技術方向。改造架構提高承載力,通常來講分為兩個大方向,互相配合實現。

硬件架構改進,主要是使用阿里云這種多組件的云環境:通過負載均衡SLB,模版克隆的云服務器ECS,云數據庫RDS,共享對象存儲OSS等不同職責的云產品組合實現。

軟件架構優化,主要是軟件代碼開發的規范:業務解耦合,架構微服務,單機無狀態化,文件存儲共享等

 

在分布式系統的學習途中也不斷見識新的知識點,今天要說的就是軟件開發時候對于接口服務的“冪等性”實現!

# 冪等性

效果:系統對某接口的多次請求,都應該返回同樣的結果!(網絡訪問失敗的場景除外)

目的:避免因為各種原因,重復請求導致的業務重復處理

面試官:分布式系統接口,如何避免表單的重復提交?

 

 

# 重復請求場景案例:

1,客戶端第一次請求后,網絡異常導致收到請求執行邏輯但是沒有返回給客戶端,客戶端的重新發起請求

2,客戶端迅速點擊按鈕提交,導致同一邏輯被多次發送到服務器

 

簡單來劃分,業務邏輯無非都可以歸納為增刪改查!

對于查詢,內部不包含其他操作,屬于只讀性質的那種業務必然符合冪等性要求的。

對于刪除,重復做刪除請求至少不會造成數據雜亂,不過也有些場景更希望重復點擊提示的是刪除成功,而不是目標不存在的提示。

對于新增和修改,這里是今天要重點關注的部分:新增,需要避免重復插入;修改,避免進行無效的重復修改;

 

# 冪等性的實現方式

實現方法:客戶端做某一請求的時候帶上識別參數標識,服務端對此標識進行識別,重復請求則重復返回第一次的結果即可。

舉個栗子:比如添加請求的表單里,在打開添加表單頁面的時候,就生成一個AddId標識,這個AddId跟著表單一起提交到后臺接口。

后臺接口根據這個AddId,服務端就可以進行緩存標記并進行過濾,緩存值可以是AddId作為緩存key,返回內容作為緩存Value,這樣即使添加按鈕被多次點下也可以識別出來。這個AddId什么時候更新呢?只有在保存成功并且清空表單之后,才變更這個AddId標識,從而實現新數據的表單提交。

分享到:
標簽:分布式 系統
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定