繁体   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