我正在使用一個 AWS SQS 來發送電子郵件。監聽器接收到郵件的 json 并直接進行處理。現在,我還需要再發送一種訊息型別(比如說 otp 或警報),它們將有自己的 json 結構。
我可以使用相同的 SQS 佇列來發布這些不同型別的訊息,因為我的音量非常低,或者我應該繼續為每種訊息型別創建多個 SQS 佇列。
uj5u.com熱心網友回復:
如果你想使用一個佇列,你需要一個 lambda 函式來對這些訊息進行實際過濾。然后根據過濾結果,lambda 函式將采取進一步的行動,例如使用 SNS 發送一些通知。
uj5u.com熱心網友回復:
這是非常主觀的:
一種。您的接收者是否能夠處理這兩種型別的訊息。
灣。將來您是否需要針對不同型別的訊息單獨擴展接收器。
C。而且大多數imp都是佇列中同等重要性/優先級的所有訊息,假設您在佇列中有大量與電子郵件相關的json,然后出現基于OTP / Alert的訊息。可以在電子郵件之后處理該訊息嗎相關訊息。如果不是這樣,為這類訊息設定一個單獨的高優先級佇列是有意義的。
uj5u.com熱心網友回復:
使用 SQS,1 個佇列就足夠了,但是您需要一個 Lambda 來過濾事件并將其路由到相應的操作(例如if event A -> send email, else if event B -> send OTP)。正如您所建議的,您可以使用多個 SQS 佇列,那么您就不需要路由 Lambda。但無論哪種方式,它都涉及創建大量資源。
相反,更好的選擇是 AWS EventBridge(以前稱為 CloudWatch Events)。有關示例,請參閱本文。基本上,EventBridge 允許您創建規則來過濾已發布的事件并路由匹配的事件以觸發目標。因此,不必維護一個 SQS 佇列(或您建議的多個)和一個路由 Lambda,您只需要使用更容易維護的 EventBridge。
您只需撰寫發送電子郵件 Lambda、發送 OTP Lambda 和發送警報 Lambda。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/466480.html
