在RabbitMQ中,可以創建交換,然後將其綁定到多個隊列,每個隊列都使用路由密鑰。這使得消息的架構是這樣的:將消息從Amazon SNS路由到SQS並進行過濾
message_x
/ | \
foo-msg_q bar-msg_q msg-logger_q
客戶端發佈信息到message_x
交換,這路線僅信息與路由鍵「富」到foo-msg_q
隊列,僅具有路由鍵「欄中的」郵件到bar-msg_q
隊列,和全部消息到msg-logger_q
隊列。
我在解決如何在AWS中執行此操作時遇到問題。我首先想到的是基於主題設置權限在各個隊列接受消息,但對於許可條件唯一可用的字段有:
- AWS:CURRENTTIME
- AWS:EpochTime
- AWS:MultiFactorAuthAge
- AWS:principaltype
- AWS:SecureTransport
- AWS:SourceArn
- AWS:SOURCEIP
- AWS:用戶代理
- AWS:用戶ID
- AWS:用戶名的這些
無看起來他們可以通過我發佈到message_x
主題的任何消息的影響。
當使用Amazon Simple Notification Service扇出多個Simple Queue Service隊列時,是否可以這樣做?每個隊列接收發布到該主題的消息子集?
您使用了錯誤的。平臺。使用Azure主題,你可以在幾秒鐘內完成... –
@OlivierAlbertini這不是很有幫助。如果你注意到上面,我提到這是你可以在RabbitMQ中做的事情,所以我知道還有其他平臺具有這種功能。我特別詢問了SNS/SQS。 –
你有沒有找到任何優雅的方式來解決你的問題? – vercin