一家不斷成長的食物外送公司有兩個 Amazon EC2 執行個體的 Auto Scaling group:一個 group 負責收集訂單(速度快),另一個 group 負責處理訂單(處理時間較長)。在擴展事件期間,資料不得遺失。該解決方案必須允許這兩個程序在尖峰時段正常擴展,並優化 AWS 資源使用。哪種解決方案符合這些要求?
選擇一個答案
點擊一個選項來檢查您的答案。
正確答案: 佈建兩個 Amazon Simple Queue Service (Amazon SQS) 佇列:一個用於訂單收集,另一個用於訂單處理。設定 EC2 執行個體輪詢其各自的佇列。根據每個執行個體待處理項目計算的指標來建立指標。根據此指標來擴展 Auto Scaling group。.
為什麼這是答案
正確答案透過使用 Amazon SQS 佇列來解耦訂單收集和處理,確保資料在擴展事件期間不會遺失。EC2 執行個體從各自的佇列中提取訊息,提供非同步處理。根據每個執行個體待處理項目計算的指標來擴展 Auto Scaling group,可以精確地響應實際工作負載,優化資源使用並允許在尖峰時段正常擴展。
第一個選項僅基於 CPU 監控,可能無法準確反映佇列中待處理的工作量,且設定最小容量無法應對動態尖峰。第二個選項透過 SNS 創建額外的 Auto Scaling group 過於複雜且效率低下,不如直接根據工作負載指標擴展現有群組。第三個選項雖然使用了 SQS,但沒有明確說明如何根據佇列通知來擴展,這可能不夠精確或自動化。