问题标签 [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.
rabbitmq - 要消费一个rabbitmq队列,我真的需要声明交换和队列吗?
在我在网上找到的所有示例中,我看到在消息被消费之前声明了交换和队列。宣布交换似乎很奇怪,因为,我为什么要这样做?我正在使用一个队列,它可能绑定到多个交换(或没有,也许它只是有旧消息在其中等待)。
另外,我想不出我为什么要声明一个队列。这将要求我知道有关队列的信息,而我不需要知道就可以使用它(例如 auto_delete 和耐久性)。
当我在本地测试它时,我可以在不声明任何内容的情况下使用队列。有用。所以我想知道,为什么我在网上看到的每个示例都声明交换和队列,即使它只是消耗它?
谢谢!!!
jms - RabbitMq:动态创建队列
我有一个场景,我想使用特定的路由密钥将一些消息发布到rabbitmq-exchange,例如。美国广播公司
问题是可能已经有任何队列已经与路由键“abc”绑定了,或者可能没有。这种情况的行为似乎是丢弃该消息,或者如果配置了死信交换,它将被路由到死信交换。
我想动态创建一个与路由键同名的队列,即“abc”,如果该路由键不存在队列,而不是将其丢弃或发送到 DLX。
有没有已知的方法可以做到这一点?
php - RabbitMQ 多通道
我已经使用 RabbitMQ 和 NodeJs 开发了一个 PHP 应用程序。然后我在同一台服务器上制作了该应用程序的副本。问题是在任何应用程序中发送任何消息,另一个应用程序也在列表中,所以我希望每个应用程序都在隔离通道上工作。
发送.php
接收.php
rabbitmq - 在 RabbitMQ 中使用哪种类型的交换(直接、扇出、主题、标头)的场景?
我无法弄清楚使用 RabbitMQ 中提供的不同交换类型的实际场景。
rabbitmq - Rabbitmq Acking 在多个消费者中
我有一个队列,多个消费者以循环方式工作。
Delivery_tag 用于在消费者完成处理后确认消息。但是多个消费者设置相同delivery_tag
,尽管他们正在处理的消息不同。
结果,当 acking 完成时,我得到了precondition failed
。
谁能建议我做错了什么?
这是消费者代码。我从这个链接得到它:
spring - 向多个 RabbitMQ 消费者提供相同的消息
要求:1)我需要通过Java应用程序并使用主题交换和绑定键来获取存储在Mongo DB中的数据,在RabbitMQ上创建了3个队列。到目前为止,我已经实现了一切。
问题从第二点开始。
2) 当消息应该可供来自所有 3 个队列的多个消费者使用时。但是当第一个消费者消费来自 3 个队列的消息时,其他消费者将无法使用它。如何使消息对多个消费者高度可用。
是否有任何方法可以实现这一点,或者这个要求是否有任何替代解决方案。
java - 在 RabbitMQ 消费者上声明交换的目的
我有一个 Java 消费者应用程序,它连接到名为“my_exhange_foo”的 RabbitMQ (3.2.4) 不可删除扇出交换:
无论是否声明了交换,客户端消费者应用程序都会接收消息。
我按照本教程中的示例 ReceiveLogsDirect.java https://www.rabbitmq.com/tutorials/tutorial-four-java.html
并阅读api但无法弄清楚在消费者方面声明交换的目的是什么。如果有人能对此有所了解,我将不胜感激。
c# - 使用 MassTransit 使用交换和路由密钥发布消息
我已经关注 MassTransit 几个星期了,我很好奇其中的可能性。但是,我似乎无法完全正确地理解这些概念。
预期的行为 我想发布消息以“直接”交换与绑定到两个不同队列以执行其他活动的路由键。
当我使用 MassTransit 尝试相同的逻辑以获得更好的可扩展性时。我发现 MassTransit 基于具有扇出类型的队列名称创建自己的交换。
通过交换和路由键发布消息的经典代码
有没有办法在 MassTransit 中使用 routingkey 配置直接或主题交换?
rabbitmq - 同一交货标签的多次确认
在我的项目中,我看到有机会两次确认相同的交付标签。发生这种情况时,消费者会从队列中解除绑定,并且不会有更多消息到达消费者(使用 RabbitMQ 管理仪表板观察)。
如何检查给定的交付标签是否已被确认?有没有推荐的方法来使用 RabbitMQ API 处理这种情况?
我试图避免在我的代码中确认两次,但不幸的是,由于一些设计问题,这是不可能的。
rabbitmq - 在 Rabbitmq 中缩放
在 Rabbit MQ 中使用集群时,我计划使用竞争订阅者模式。
现在,如果我有一个包含 3 个节点的集群,那么消费者从其中获取消息的队列只有一个(与集群中的节点数量无关)。如果我必须在上述限制条件下扩大规模,您认为我应该拥有多个集群吗?
请指教。
第二个相关问题,集群如何有助于可扩展性?