MicrosoftMicrosoft Azure Developer Associate AZ-204 Certification
·TW
·更新於 5 Aug 2026
您正在建構一個庫存系統,該系統必須維護每個商品的計數,並具有高併發性,同時保證相同商品的更新是序列化的。多個客戶端將會增加和減少庫存,並偶爾讀取目前的計數。使用 Durable Functions,您應該採取哪兩個行動?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 建立一個 Durable Entity 函數(例如 Inventory),該函數定義了 AddStock 和 RemoveStock 等操作,並在實體上下文中維護狀態。, 從 HTTP 觸發的函數中,建構一個 EntityId ("Inventory", itemId) 並呼叫 IDurableEntityClient.SignalEntityAsync 來傳送更新;使用 ReadEntityStateAsync 來查詢目前的庫存。.
為什麼這是答案
Durable Entities 是處理高併發狀態管理的理想選擇,因為它們提供單一寫入器保證,確保對同一實體的更新是序列化的。因此,建立一個 Durable Entity 函數來維護庫存計數並定義操作(如 AddStock 和 RemoveStock)是正確的。為了與 Durable Entity 互動,客戶端應建構一個 EntityId 並使用 IDurableEntityClient.SignalEntityAsync 來傳送更新,這會非同步地呼叫實體操作。使用 ReadEntityStateAsync 則可以查詢實體的當前狀態。
其他選項不符合要求:
為每個更新啟動新的協調器會導致不必要的開銷,並且無法保證對同一商品的序列化更新。
將計數儲存在靜態記憶體字典中並使用 C 鎖定,這在單一實例應用程式中可行,但在分散式無伺服器環境中不可靠,因為狀態不會跨多個實例共享。
依賴 Table storage 的 ETag 進行樂觀併發雖然是一種持久化狀態的方法,但它需要手動處理衝突和重試邏輯,不如 Durable Entities 的內建序列化保證來得直接和高效。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 →
無需信用卡