某公司在 Auto Scaling group 中的 EC2 執行個體上執行自訂應用程式,該應用程式透過多個連續、運算密集的步驟處理記錄。每個步驟最多需要 5 分鐘。目前,如果任何步驟失敗,則必須從頭開始重新處理整個記錄。該公司希望僅重新處理失敗的步驟,並將操作開銷降至最低。為了滿足此需求,最符合操作效率的架構是什麼?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 將記錄從 Web 應用程式傳送到 AWS Step Functions,並將處理分解為由 AWS Lambda 函數支援的 Step Functions 任務。.
為什麼這是答案
此方案利用 AWS Step Functions 的強大功能來協調多個步驟的處理工作流程。Step Functions 允許您將複雜的處理分解為獨立的任務(由 Lambda 函數支援),並定義這些任務之間的狀態轉換。如果任何步驟失敗,Step Functions 可以輕鬆地從失敗的步驟重新啟動,而無需重新處理整個記錄,這符合「僅重新處理失敗的步驟」的需求。此外,Step Functions 是一種無伺服器服務,可自動管理工作流程的狀態和執行,從而將操作開銷降至最低。 其他選項的缺點: 將中間結果儲存在 S3 中並使用 SNS/EC2 輪詢會增加複雜性,且難以管理狀態和錯誤恢復。 將處理邏輯重構為在 Fargate 上執行的容器,並讓容器自行呼叫以傳遞狀態,這會增加應用程式內部的耦合,且錯誤處理和重試邏輯需要手動實作。 使用 Kinesis Data Stream 和 Lambda 函數解耦處理,雖然可以處理串流資料,但對於多個連續、運算密集的步驟的協調和錯誤恢復,不如 Step Functions 直觀和高效。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡