当前位置: 首页 > 知识库问答 >
问题:

从 AMQP 迁移到 Amazon SNS/SQS - 需要了解概念

东门胤
2023-03-14

我对 RabbitMQ 和 AMQP 协议非常熟悉,并且已经构建了一个具有命令、请求和事件模式的系统。

现在,我将构建一个在 AWS Lambda 上运行的系统,因此使用 SNS、SQS 等。我想了解这些东西之间的“映射”。

AMQP中的交换等价物是什么?路由密钥的等价物是什么?

如何在SNS和SQS中为扇出、直接和主题交换(或类似)设置队列绑定?

其他人是怎么处理的?在我看来,RabbitMQ是一个专为满足消息总线的一般需求而构建的工具,AWS提供块,您必须自己设置/构建功能。我说得对吗?

共有2个答案

熊哲圣
2023-03-14

看起来 AWS IoT 服务及其 MQTT 提供了我需要的功能,以便执行类似于 RabbitMQ 提供的路由规则!

田昊天
2023-03-14

AMQP中的交换等价物是什么?

最接近的概念可能是 SNS,因为您可以将 SNS 主题配置为发布到 n 个 SQS 队列。然后,当您写入该主题时,每个订阅的队列都会收到一条消息。如果您愿意,还可以将消息直接写入 SQS 队列。

相当于路由关键字的有哪些?

这没有真正的等价物。SNS 到 SQS 绑定不允许在主题到队列绑定之外进行任何其他筛选/控制。您可以通过拥有多个SNS主题来近似路由,即每个主题都是一个“路由密钥”。

如何在SNS和SQS中为扇出、直接和主题交换(或类似)设置队列绑定?

  • 扇出:写入 SNS 主题,每个订阅的队列将收到相同的消息。
  • 直接:直接写入 SQS 队列或仅订阅了这些队列的 SNS 主题。
  • 主题:创建 SNS 主题并相应地订阅队列。

其他人是如何处理的?

在AWS消息传递之前,我使用了RabbitMQ,所以我经历了同样的学习过程。AWS没有提供那么多交换/路由铃

 类似资料:
  • This doc guides you through migrating an existing Docusaurus 1 site to Docusaurus 2. We try to make this as easy as possible, and provide a migration cli. Main differences Docusaurus 1 is a pure docum

  • WCDB开源至今已两个月有余,我们在不断迭代功能、完善文档的同时,也与来自世界各地的开发者进行交流,帮助他们更快地了解、掌握WCDB。这其中,也不乏使用FMDB的开发者。他们正准备将项目的数据库模块改为WCDB。 对于一个已经上线运行的项目,数据库这类基础组件与业务的耦合通常较多,迁移有一定工作量的。因此,开发者通常会做很多预研,以确定是否进行迁移。 WCDB在Github的wiki上提供了专门的

  • 我继承了一个遗留的EJB应用程序,该应用程序构建为带有会话bean和JPA的EJB3.0。我正在从WebSphere8.0迁移,在那里应用程序没有问题。我已经在WebSphere8.5.5classic上进行了测试,没有任何问题,但是,出于战略原因,我们决定使用WebSphereLiberty。我在应用程序服务器上部署了两个ear文件,一个是前端ear应用程序,另一个是EJB(JPA)应用程序。两

  • 上节我们介绍了不同平台(Windows、Linux 和 Mac OS X)下常用的 IDE,大家肯定希望赶紧实践一下,用 IDE 真正地运行一段C语言代码来看看效果,这样能够更快地获得成就感。 但是,使用 IDE 的过程中会涉及到一些与编程有关的概念,这些概念如果不提前了解,即使能够运行出程序来,也是雾里看花,知其然不知其所以然。本节的目标就是让大家对这些概念有一个简单的了解。 1) 源文件(So

  • 问题内容: 我们的Oracle数据库遇到了严重的性能问题,我们想尝试将其迁移到基于MySQL的数据库(直接使用MySQL,或者最好是Infobright)。 问题是,在我们实际上不知道新数据库的所有功能是否符合我们的需求之前,我们需要让旧系统和新系统至少重叠数周(如果不是几个月)。 因此,这是我们的情况: Oracle数据库由多个表组成,每百万行。白天,实际上有成千上万的语句,我们无法停止迁移。

  • 问题内容: 在我的应用程序中,我从UIWebView迁移到WKWebView,如何为WKWebView重写这些功能? 和 问题答案: UIWebView => WKWebView等效 关于您可以写: 对于: