某公司有一個資料擷取工作流程,包含一個接收新資料交付通知的 Amazon SNS topic,以及一個處理和儲存資料的 AWS Lambda function。偶爾會因為網路連線問題導致擷取失敗,除非手動重新執行任務,否則這些資料將無法被擷取。身為解決方案架構師,您應該怎麼做才能確保所有通知最終都能被處理?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 設定一個 Amazon Simple Queue Service (Amazon SQS) 佇列作為失敗時的目的地。修改 Lambda function 以處理佇列中的訊息。.
為什麼這是答案
正確答案是設定 Amazon SQS 佇列作為失敗時的目的地,並修改 Lambda function 以處理佇列中的訊息。當 Lambda 處理失敗時,訊息會被傳送到 SQS 佇列,確保即使初次處理失敗,資料也不會丟失。Lambda 可以配置為從 SQS 佇列中讀取並重試處理這些訊息,從而實現最終一致性。 其他選項的解釋: 將 Lambda function 設定為跨多個可用區域部署:這提高了可用性,但不能解決因網路連線問題導致的處理失敗,因為問題可能出在外部服務或 Lambda 執行本身。 修改 Lambda function 的組態,以增加 function 的 CPU 和記憶體分配:這可能改善效能,但無法解決因網路連線問題導致的失敗,也無法保證失敗後資料的重試處理。 設定 SNS topic 的重試策略:SNS 本身沒有直接針對 Lambda 訂閱的重試策略,它會將訊息傳送給訂閱者。如果 Lambda 處理失敗,SNS 不會自動重試。重試邏輯通常需要在訂閱者端(即 Lambda function)或透過其他服務(如 SQS)來實現。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡