一個電商前端透過 API Gateway 呼叫 POST API,該 API 以非同步方式叫用 Lambda 函數來處理訂單。偶爾會有訂單未被處理,且 Lambda 記錄中沒有顯示錯誤。開發人員應該怎麼做才能診斷並解決遺失的訂單處理問題?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 檢查 Lambda dead-letter queue (DLQ) 中是否有失敗的事件,對失敗進行故障排除,然後重新處理這些事件。.
為什麼這是答案
當 Lambda 函數以異步方式調用時,如果處理失敗(例如,函數執行錯誤或超時),事件會自動重試兩次。如果重試後仍然失敗,或者事件無法被處理(例如,由於配置錯誤),它將被發送到配置的死信佇列 (DLQ)。檢查 DLQ 可以找到那些未被處理的訂單事件,並允許開發人員診斷失敗原因並重新處理它們。 其他選項: 檢查前端日誌中的 API 失敗並手動重試:這只能解決前端發送請求失敗的問題,但無法診斷 Lambda 異步處理失敗的情況。 檢查 CloudWatch 中的 Lambda 日誌是否有錯誤:雖然檢查日誌是良好的實踐,但如果事件根本沒有觸發 Lambda 執行(例如,由於異步調用配置問題),或者事件在重試後才最終失敗並進入 DLQ,那麼日誌中可能不會有明顯的錯誤訊息。DLQ 提供了一個集中的位置來捕獲這些最終失敗的事件。 確保 POST API 已停用 API Gateway 快取:快取問題通常會導致舊資料被返回,而不是導致訂單完全遺失或 Lambda 處理失敗。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡