问题标签 [rabbitmq-exchange]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1124 浏览

rabbitmq - 要消费一个rabbitmq队列,我真的需要声明交换和队列吗?

在我在网上找到的所有示例中,我看到在消息被消费之前声明了交换和队列。宣布交换似乎很奇怪,因为,我为什么要这样做?我正在使用一个队列,它可能绑定到多个交换(或没有,也许它只是有旧消息在其中等待)。

另外,我想不出我为什么要声明一个队列。这将要求我知道有关队列的信息,而我不需要知道就可以使用它(例如 auto_delete 和耐久性)。

当我在本地测试它时,我可以在不声明任何内容的情况下使用队列。有用。所以我想知道,为什么我在网上看到的每个示例都声明交换和队列,即使它只是消耗它?

谢谢!!!

0 投票
2 回答
8560 浏览

jms - RabbitMq:动态创建队列

我有一个场景,我想使用特定的路由密钥将一些消息发布到rabbitmq-exchange,例如。美国广播公司

问题是可能已经有任何队列已经与路由键“abc”绑定了,或者可能没有。这种情况的行为似乎是丢弃该消息,或者如果配置了死信交换,它将被路由到死信交换。

我想动态创建一个与路由键同名的队列,即“abc”,如果该路由键不存在队列,而不是将其丢弃或发送到 DLX。

有没有已知的方法可以做到这一点?

0 投票
0 回答
148 浏览

php - RabbitMQ 多通道

我已经使用 RabbitMQ 和 NodeJs 开发了一个 PHP 应用程序。然后我在同一台服务器上制作了该应用程序的副本。问题是在任何应用程序中发送任何消息,另一个应用程序也在列表中,所以我希望每个应用程序都在隔离通道上工作。

发送.php

接收.php

0 投票
2 回答
2231 浏览

rabbitmq - 在 RabbitMQ 中使用哪种类型的交换(直接、扇出、主题、标头)的场景?

我无法弄清楚使用 RabbitMQ 中提供的不同交换类型的实际场景。

0 投票
1 回答
136 浏览

rabbitmq - Rabbitmq Acking 在多个消费者中

我有一个队列,多个消费者以循环方式工作。

Delivery_tag 用于在消费者完成处理后确认消息。但是多个消费者设置相同delivery_tag,尽管他们正在处理的消息不同。

结果,当 acking 完成时,我得到了precondition failed

谁能建议我做错了什么?

这是消费者代码。我从这个链接得到它:

http://blogs.digitar.com/jjww/2009/01/rabbits-and-warrens/

0 投票
1 回答
566 浏览

spring - 向多个 RabbitMQ 消费者提供相同的消息

要求:1)我需要通过Java应用程序并使用主题交换和绑定键来获取存储在Mongo DB中的数据,在RabbitMQ上创建了3个队列。到目前为止,我已经实现了一切。

问题从第二点开始。

2) 当消息应该可供来自所有 3 个队列的多个消费者使用时。但是当第一个消费者消费来自 3 个队列的消息时,其他消费者将无法使用它。如何使消息对多个消费者高度可用。

是否有任何方法可以实现这一点,或者这个要求是否有任何替代解决方案。

0 投票
1 回答
185 浏览

java - 在 RabbitMQ 消费者上声明交换的目的

我有一个 Java 消费者应用程序,它连接到名为“my_exhange_foo”的 RabbitMQ (3.2.4) 不可删除扇出交换:

无论是否声明了交换,客户端消费者应用程序都会接收消息。

我按照本教程中的示例 ReceiveLogsDirect.java https://www.rabbitmq.com/tutorials/tutorial-four-java.html

并阅读api但无法弄清楚在消费者方面声明交换的目的是什么。如果有人能对此有所了解,我将不胜感激。

0 投票
3 回答
11336 浏览

c# - 使用 MassTransit 使用交换和路由密钥发布消息

我已经关注 MassTransit 几个星期了,我很好奇其中的可能性。但是,我似乎无法完全正确地理解这些概念。

预期的行为 我想发布消息以“直接”交换与绑定到两个不同队列以执行其他活动的路由键。

当我使用 MassTransit 尝试相同的逻辑以获得更好的可扩展性时。我发现 MassTransit 基于具有扇出类型的队列名称创建自己的交换。

通过交换和路由键发布消息的经典代码

有没有办法在 MassTransit 中使用 routingkey 配置直接或主题交换?

0 投票
1 回答
2278 浏览

rabbitmq - 同一交货标签的多次确认

在我的项目中,我看到有机会两次确认相同的交付标签。发生这种情况时,消费者会从队列中解除绑定,并且不会有更多消息到达消费者(使用 RabbitMQ 管理仪表板观察)。

如何检查给定的交付标签是否已被确认?有没有推荐的方法来使用 RabbitMQ API 处理这种情况?

我试图避免在我的代码中确认两次,但不幸的是,由于一些设计问题,这是不可能的。

0 投票
1 回答
11241 浏览

rabbitmq - 在 Rabbitmq 中缩放

在 Rabbit MQ 中使用集群时,我计划使用竞争订阅者模式。

现在,如果我有一个包含 3 个节点的集群,那么消费者从其中获取消息的队列只有一个(与集群中的节点数量无关)。如果我必须在上述限制条件下扩大规模,您认为我应该拥有多个集群吗?

请指教。

第二个相关问题,集群如何有助于可扩展性?