iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 27
1
Microsoft Azure

Azure Serverless 平步青雲,漫步雲端系列 第 27

Day 27- 鬼斧神工 :Serverless 電商 - 實戰 - 後端開發 (三)資料庫存取

https://ithelp.ithome.com.tw/upload/images/20201012/20130168k7N1zQLrpO.png
圖片來源:Azure

高負載

在Ecommerce的狀態下我們最怕的便是在訂單處理跟庫存的部分(在購物車以前端處理的狀況下),高負載代表的是在同一個時間點會有非常多的存取動作,而每一次的存取需要保證資料一致性,我們會需要使用的Azure CosmosDB的Change Feed來處理每一次的產品數量變更都是保證要被按照順序讀寫的。

Change Feed

在Azure CosmosDB 無伺服器的說明下。

  1. 無伺服器帳戶只能在單一 Azure 區域中執行。 您無法在建立其他 Azure 區域之後,將其新增至無伺服器帳戶。
  2. 不可能在無伺服器帳戶上啟用 Synapse 連結預覽功能 。
  3. 無伺服器容器上不需要布建輸送量,因此下列陳述適用:
  4. 您無法在建立無伺服器容器時傳遞任何輸送量,因此會傳回錯誤。
  5. 您無法讀取或更新無伺服器容器的輸送量,因此會傳回錯誤。
  6. 您無法在無伺服器帳戶中建立共用輸送量資料庫,而且這麼做會傳回錯誤。
  7. 無伺服器容器可提供每秒5000要求單位的最大輸送量 burstability。
  8. 無伺服器容器最多可以儲存 50 GB 的資料和索引。

所以我們必須去注意到限制問題,一個容器可以提供到5000每秒要求,而在我們一般商家的搶購情況下已經足夠使用,當我們需要使用到超過5000每秒要求次數以上時,就要考慮到分區多容器的問題,但不在我們這次文章的討論範圍。

Azure Cosmos DB 中的變更摘要支援是靠接聽 Azure Cosmos 容器的任何變更而運作。 然後變更摘要會輸出已排序的文件清單,這些文件已依其修改的順序變更過。 變更會保存,可進行非同步累加處理,而輸出可配送給一或多個取用者進行平行處理。

我們任何資料讀寫預設都會有變更摘要的創立,我們透過變更摘要的功能,可以提前在排隊還沒寫入之前的資料作出計算的動作。

本日小結

今天帶大家走完後端最後資料庫流程之後,接下來便是將產品完成上線!!我們有邀請到神祕貴賓來幫大家做一次流量負載測試!!


上一篇
Day 26- 鬼斧神工 :Serverless 電商 - 實戰 - 後端開發 (二)API 規劃
下一篇
Day 28- 鬼斧神工 :Serverless 電商 - 實戰 - 介接團隊主產品
系列文
Azure Serverless 平步青雲,漫步雲端30

尚未有邦友留言

立即登入留言