某公司在 Amazon API Gateway 上執行非同步 API,並使用 AWS Lambda 函數將使用者請求儲存在 Amazon DynamoDB 中,然後再分派給微服務。該公司已在預算允許的範圍內佈建了足夠的 DynamoDB 輸送量,但仍然遇到可用性問題和請求遺失。解決方案架構師應如何處理此問題,而不會影響現有使用者?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 使用 Amazon Simple Queue Service (Amazon SQS) 佇列和 Lambda 來緩衝寫入 DynamoDB。.
為什麼這是答案
正確答案是使用 Amazon Simple Queue Service (Amazon SQS) 佇列和 Lambda 來緩衝寫入 DynamoDB。當 API Gateway 接收到請求時,可以將請求放入 SQS 佇列中,然後由 Lambda 函數從佇列中讀取訊息並寫入 DynamoDB。這種方式可以解耦 API Gateway 和 DynamoDB,即使 DynamoDB 暫時無法處理所有請求,請求也會保留在 SQS 佇列中,避免請求遺失,並提高系統的可用性和彈性。 在 API Gateway 上新增節流控制會直接拒絕超過限制的請求,導致請求遺失。使用 DynamoDB Accelerator (DAX) 主要用於讀取密集型工作負載,對寫入吞吐量的幫助有限。在 DynamoDB 中建立次要索引可以優化查詢性能,但無法解決寫入吞吐量瓶頸或防止請求遺失。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡