某應用程式將傳入的 JSON 檔案儲存在 S3 中,然後一個 Lambda 會轉換這些檔案並將項目寫入 DynamoDB。突然的流量高峰導致 DynamoDB 節流。哪項變更可以消除節流並平穩地寫入 DynamoDB?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 將 Lambda 拆分為兩個函數:一個用於轉換,另一個用於寫入 DynamoDB。在它們之間放置一個 SQS queue,以便訊息緩衝並調用寫入函數。.
為什麼這是答案
當應用程式遇到突發流量高峰導致 DynamoDB 節流時,將 Lambda 函數拆分為兩個並在它們之間引入 SQS 佇列是最佳解決方案。第一個 Lambda 函數負責轉換資料,然後將訊息發送到 SQS 佇列。SQS 佇列能夠緩衝大量訊息,有效吸收流量高峰,防止直接衝擊下游服務。第二個 Lambda 函數則從 SQS 佇列中批次讀取訊息,並以受控的速度將資料寫入 DynamoDB,避免超出 DynamoDB 的寫入容量而導致節流。 啟用 DynamoDB auto scaling 雖然能調整容量,但對於突發且短暫的流量高峰,可能反應不夠即時,仍可能發生短暫節流。建立 Lambda alias 並配置 provisioned concurrency 主要是為了減少冷啟動延遲,與解決 DynamoDB 節流問題無關。將 Lambda 拆分為兩個並使用 DynamoDB stream 處理更新,雖然能分離職責,但 DynamoDB stream 是在資料寫入 DynamoDB 之後才觸發,無法在寫入前緩衝資料以防止節流。
通過考試 — 無需無休止地尋找答案
集中一處獲取此考試的所有核實題目和解釋,節省數小時的準備時間。1,000 多種認證 · 20 多種語言 · 免費開始。
更快通過您的考試 → 無需信用卡