我想要實現的是使用 lambda 函數而不是「自架」訂閱者來擴展已定義隊列的消費者數量。
對於給定的情況,event-queue
我希望多個消費者處理來自同一隊列的唯一訊息,就像我簡單地處理一組進程一樣,但我想使用雲端託管的 lambda 函數。到目前為止,我只是找到瞭如何使用單一功能進行訂閱,而無需縮放選項。
答案1
我發現這篇非常有用的文章來自雲遊俠(作者:Andreas Wittig),這舉例說明了一種針對多個 AWS Lambda 使用者的方法:
整合 SQS 和 Lambda:適用於非同步工作負載的無伺服器架構
要擴展 Andreas 的解決方案,您可以使用AWS CloudWatch 警報來自您的 AWS SQS 佇列和 tiggerAWS 雲形成(和/或AWS 無伺服器應用程式儲存庫)以在需要時啟動更多 AWS Lambda 使用者。
另一種方法是使用亞馬遜MQ。
如果你使用亞馬遜簡單通知服務 (SNS)或者AWS 運動,相同的訊息將觸發不同的 lambda,並且您可能會在 lambda 之間獲得重複的操作。
[更新]
現在可以使用 Amazon Simple Queue Service 作為 AWS Lambda 的觸發器: