簡體   English   中英

是否可以在不創建 ActiveMQ 之類的訂閱的情況下使用來自 AWS SNS 的消息?

[英]Is it possible to consume message from AWS SNS without creating Subscription like ActiveMQ?

當任何消息發布到 AWS SNS 主題時,偵聽器(java 代碼)可以使用來自 SNS 主題的消息,而無需創建任何訂閱者。 我想使用 AWS SNS 實現像 ActiveMQ 這樣的發布訂閱模式。

一般來說,發布/訂閱系統總是需要訂閱才能接收消息。

但是,Amazon SNS 支持在不創建訂閱的情況下將消息傳遞到平台應用程序終端節點(用於傳遞推送通知)和電話號碼(用於發送 SMS)。 所有其他類型的目的地都需要訂閱。

AWS 有兩個“消息”服務:

  • SNS (簡單通知服務):向“端點”發送“通知”
  • SQS (Simple Queue Service):完全托管的消息隊列服務

如果您想要發布/訂閱(類似於 ActiveMQ 訂閱/訂閱),那么您可能會使用 SQS。

回答您的問題:不,您不需要創建“訂閱者”。

嚴格來說,您甚至不需要創建 SNS 主題:只需將“消息”發送到“端點”即可。 根據文檔:

https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html

SNS 主題是充當通信渠道的邏輯訪問點。 一個主題允許您對多個終端節點(例如 AWS Lambda、Amazon SQS、HTTP/S 或 email 地址)進行分組。

您的挑戰是如何讓外部 Java 應用程序“收聽”通知。 此 AWS 示例使用 Amazon Simple Notification Service創建一個主題並分配一個訂閱者。 這是一個很好的解決方案......但還有很多其他選擇。 這完全取決於您的應用程序、應用程序的平台……以及您的個人偏好。

您可以使用 java 作為運行時環境來配置 AWS lambda function 作為其運行時環境,以使用 AWS SNS 觸發。 更多信息可以在這里找到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM