问题标签 [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 投票
0 回答
47 浏览

rabbitmq - rabbitmq服务器关闭后如何重新使用exchange?

嗨,我想知道有没有办法在rabbitMQ服务器通过.net关闭后继续使用交换?

0 投票
1 回答
1299 浏览

rabbitmq - 使用 NServiceBus 在生产环境中设置 RabbitMQ 集群的最佳实践

目前我们有 2 个负载平衡的 Web 服务器。我们刚刚开始通过 NSB 公开一些功能。如果我创建两个“应用程序”服务器,我会在所有 4 个服务器之间创建一个集群吗?或者我应该创建 2 个集群?

IE

Cluster1:Web 服务器 A,应用服务器 A

集群 2:Web 服务器 B、应用服务器 B

似乎如果它是一个集群,如果该订阅者同时部署到应用服务器 A 和 B,我如何防止发布的消息被同一个逻辑订阅者处理多次?

我将 RabbitMQ 放在 Web 服务器上以实现消息持久性的唯一原因是(假设我没有在 Web 服务器上运行任何应用程序服务)?在这种情况下,我的假设是我使用集群镜像将消息发送到应用服务器。这个对吗?

0 投票
0 回答
1628 浏览

java - RabbitMQ:在 Direct Exchange 中创建动态队列

我是 RabbitMQ 的新手,我刚刚浏览了 Rabbitmq 文档(路由)。我对带有路由键的 Exchange 感到很困惑。我的要求是,我想动态创建多个队列。请参考下图。

Producer 将作业发送到 Exchange 并将其转发到相应的 Queue

前任。假设如果生产者为消费者 c3 创建消息,那么它应该去 Exchange 并仅路由到队列 3 并仅由 C3 消费。目前我只需要 3 个队列,将来这个数量可能会增加。那么如何处理这种情况呢。

注意:我参考这个博客交流

我使用了 Spring hibernate 和 Rabbitmq。下面的代码显示了 Rabbit MQ 侦听器配置文件。

在上面的 rabbit-listener-context.xml 中,我创建了 3 个队列和 3 个监听器类。我的目标是队列应该通过定义的路由键进行访问。我想动态创建第n个队列吗?我们怎样才能做到这一点?

0 投票
1 回答
235 浏览

rabbitmq - SharedQueue 已关闭 - RabbitMQ 错误消息

我在 Visual Studio 中启动应用程序后立即收到 SharedQueue 关闭错误。现在这个错误非常频繁。据我所知,我们没有对代码进行任何更改,并且此代码之前运行良好。

我在网上和 SO 上都看到过许多类似的错误帖子,但我没有发现任何帖子有帮助。当异常发生时,它不指向任何代码。请参阅以下错误以获取更多信息:

在此处输入图像描述

这是错误堆栈跟踪:

我不确定它的相关性,但我也在附加队列状态:

在此处输入图像描述

0 投票
1 回答
293 浏览

ruby - 在 AWS 实例上设置 rabbitMQ

我在设置与远程 RabbitMQ 服务器的连接时遇到问题。基本上我让消费者​​和服务器在远程 ubuntu 机器上运行,并希望我的本地机器充当发布者。我可以通过 ssh 访问远程机器。我已经阅读了以下内容的答案,似乎可以 在 Amazon EC2 实例和本地上使用 RabbitMQ?

但是,当我尝试连接到远程主机时

我收到“检测到 TCP 连接失败”。我在远程服务器上运行了 netstat,端口 5672 正在监听。

0 投票
1 回答
1219 浏览

rabbitmq - RabbitMQ 创建一个临时队列,但不知道如何或何时

我将 Mule ESB 与两个应用程序一起使用(一个通过 rabbitMQ 向另一个发布状态)。仅在我的生产环境中,我会弹出这些 amqp.gen- 队列,但它们已被锁定,我看不到其中的内容。他们绑定到我的交易所(出版商)。

客户指出这是随机资产丢失的问题。我试图消除它们的发生,但没有任何线索。根据 rabbitMQ 教程,这些是在您声明队列但不提供名称时创建的。但是,我不这样做。

更多信息:这两个应用程序使用不同的 rabbitMQ 登录名,队列由我的应用程序(发布者)创建,而不是消费者应用程序。我没有队列名称,我的队列声明如下所示:

如您所见,没有队列名称。只是一个路由键。

我的问题是:如果没有与此路由键匹配的队列绑定到此交换,这就是创建这些临时队列的原因吗?我的应用程序如何检索锁定在其中的消息?我在架构上做错了吗?

对于开放式问题,我很抱歉,但我得从某个地方开始。

0 投票
0 回答
104 浏览

java - RabbitMQ如何按属性进行路由?

我想按属性或更具体地按属性进行 RabbitMQ 路由(通过交换)type

这是我的发送代码:

我尝试使用交换类型headers,但如果我理解正确,“标题”只是在属性“标题”中设置的标题,而不是属性本身。

这是我的接收绑定代码(未按预期工作):

我还想知道在使用交换路由到另一个交换时是否可以设置相同的过滤。我相信这应该是可能的。

0 投票
1 回答
707 浏览

rabbitmq - RabbitMQ 路由键

再会。

有没有办法通过基于浏览器的 UI 检索现有交换(扇出或主题)的路由键?

我无权访问客户端源代码(生产者)来查看哪些路由密钥被发送到模型。

谢谢你。

编辑:这个想法是尝试锁定现有的扇出交换(我无法重新配置)。我想创建一个新的交换,将它绑定到这个,只过滤掉某些消息。

0 投票
1 回答
3953 浏览

spring - 使用 Spring ampq 在 rabbitmq 中重新排队消息

我是rabbitmq的新手,正在尝试以下场景

--> 生产者发送消息
--> 消费者接收消息
-- 执行我自己的逻辑

如果逻辑失败 - 重新排队

--> 如果消费者失败(机器宕机),则重新排队消息

我已经使用 Spring rabbitTemplate 实现了基本的发送者

对于消费者,我实现了一个消息监听器

并通过弹簧将其添加到容器中

直到这部分它工作正常。

现在如果在监听器中提到的**我自己的逻辑**失败。我想重新排队消息。我该如何实现这一点。从我浏览过的博客来看,returnedMessage 似乎需要被覆盖。但我不确定如何通过监听器来完成。

0 投票
1 回答
1536 浏览

postgresql - 将数据从 postgres 传输到 rabbitmq

我对 rabbitmq 很陌生,目前正在尝试在以下位置安装 Postgres 监听交换插件: https ://github.com/aweber/pgsql-listen-exchange

我尝试按照那里列出的说明进行操作,但出现以下错误:

/bin/sh: escript: 找不到命令

make[1]: *** [deps.mk] 错误 127

制作:*** [../rabbitmq-server/dist/.done.0.0.0] 错误 2

我目前正在使用 Mac,不确定是不是因为我缺少一些基本库。