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

logging - 将 RabbitMQ 与 Logstash 一起使用时丢失消息

我刚刚安装了 RabbitMQ,我将它与 logstash 一起使用。我一直在发送消息,但丢失了很多数据。我不知道我该如何解决。我在 rabbitMQ 中使用默认配置。

这些是 logstash 中的输出和 logstash 中的输入:

我正在使用 RabbitMQ 管理来查看队列的演变。当我发送 10,000 条消息时,我只收到不到一半。我应该更改任何参数以改善rabbitMQ的行为吗?我打算按顺序使用它,这样我就不会丢失消息,但我失去的比没有它时还要多。

我在队列中看不到任何消息

0 投票
2 回答
805 浏览

rabbitmq - RabbitMQ 手动重试

将消息放入死信队列后,如何在 RabbitMQ 中手动重试?

RabbitMQ 是否提供了一个用户界面,您可以通过它来执行此操作?我在这里假设 RabbitMQ 控制台不为您提供此功能。

0 投票
2 回答
405 浏览

erlang - 如何在 RabbitMQ 3.5.6 的自定义交换中修改交付(消息)?

我正在为 RabbitMQ 编写自定义交换,它必须从交换中获取参数并将它们放入消息头。我对 Erlang 不是很熟悉。

我在 rout 方法中创建了新的 Delivery,但据我所知,我无法在 Erlang 中修改原始变量,因此 Rabbit 继续使用原始变量。

有没有办法在交换中修改消息或者说兔子继续新的。

0 投票
1 回答
1376 浏览

c# - 通过 ConsumeContext --Masstransit 发布命令处理程序的命令结果

我已经为 masstransit 配置了一个 webapi 控制器。像这样的东西。

控制台应用程序是我的服务器,它正在监听我的命令/事件——

控制器动作类似于 -

处理程序是——

现在我的情况是 .

  1. 创建一个命令对象。

  2. Context.SaveAsync()从新创建的 Entity 框架方法中获取产品 ID 。

  3. 将 ProductId 发布到总线,以便其他侦听器可以侦听此产品 Id 并采取相应的行动。

    我试图找出在这种情况下应用的最佳模式。

现在问题从—— await context.Publish<ProductItemCreatedEvent>(Product.Id);这一行开始。它尝试一次又一次地无限发布到同一个队列。结果,相同的 Product 对象被插入了数百次(我知道这很蹩脚,导致没有唯一约束,但这不是这里的问题),发生的情况是我的命令处理程序尽管被强类型化,但它会无限期地执行。如何摆脱这种情况。我对公共交通概念很陌生。

所以有人可以阐明为什么会发生这种情况。

0 投票
1 回答
538 浏览

rabbitmq - 通过克服“吞吐量和 CPU 利用率可能会恶化”警告来提高我的 Rabbitmq 的吞吐量

我在 rabbitmq.config 文件中应用了一些配置,如下所示:

我在“rabbit@nodname.log”文件中收到以下警告消息。

警告消息:内核轮询(epoll、kqueue 等)已禁用。吞吐量和 CPU 利用率可能会恶化。

谁能建议如何增加我的 Rabbitmq 的吞吐量并建议上述警告消息的重要性?

我正在使用最新版本的 Rabbitmq:3.6.0。

谢谢,

0 投票
2 回答
579 浏览

rabbitmq - 多交换队列模型的 RabbitMQ 消费者设计

我有一个具有以下配置的 RabbitMQ 设置。

  • 每个交易所都是FANOUT类型
  • 多个队列附加到每个 Exchange。
  • BlockingConnection由消费者制造。
  • 单个消费者处理所有回调。

问题 -

一些有效负载比其他有效负载需要更长的时间来处理,这导致消费者即使在其他队列中有有效负载时也保持空闲状态。

问题 -

  1. 我应该如何实施消费者以避免长时间等待?我应该为每个模块运行单独的消费者吗?任何用户体验?
  2. 我可以配置 RabbitMQ 来处理这些情况吗?如果是这样怎么办。?
0 投票
1 回答
1784 浏览

excel - 以 csv 或 excel 格式获取 RabbitMQ 队列中的所有消息

我的 RabbitMq 队列中有大约 10000 条消息处于就绪状态。我正在考虑清除消息,但在清除之前,我需要将所有消息详细信息下载为 csv 或 excel 以进行备份。

有没有办法做到这一点。我正在使用 RabbitMQ 管理插件(Web UI)。

提前致谢

0 投票
1 回答
101 浏览

rabbitmq - RabbitMQ CLI 状态与管理门户不同

我注意到,当我从命令行 ( rabbitmqctl status) 运行 RabbitMQ 状态命令时,所有报告的数字都与我所知道的现实不符。我在管理门户网站中看到的内容证实了我的现实。

这是 CLI 状态的输出:

读者数量、作者数量、渠道数量等,基本上每个数量都成千倍。

在管理门户(下面的 ss)中看到的数字是正确的。总共 10 个连接,每个连接有两个通道

实际连接数

我所有的队列都是非持久的,我只使用扇出交换发送非持久性消息。据我了解,这应该意味着如果出现问题(这对我的需要来说很好),什么都不会持续存在。

我注意到,每当我启动或关闭连接到代理的模块之一时,在命令行上读取器/写入器的数量会增加约 17,000 个,尽管门户中仅向上/向下 1 个。

这是我的代理配置代码供参考:

客户端使用构建器模式来实例化代理连接,此时他们指定他们的发布交换和他们希望订阅的任意数量的交换。这个系统总共只有 19 个交易所。

消息正在正确发布和接收,但我收到报告称代理正在阻塞服务器。我会更密切地监视它,但我真的很想能够解释状态调用的这些古怪结果。我已经尝试停止应用程序并重置然后重新配置代理,这会使连接计数回到 0,但是一旦模块开始重新连接,数字就会开始回升。

感谢您抽出宝贵时间浏览此内容。任何建议将不胜感激!

0 投票
2 回答
8097 浏览

java - Spring rabbitmq 通过动态绑定发送到交换

我尝试使用 TopicExchange 来屏蔽消息。

配置:

零件:

当我使用发送(包括 TopicExchange 之前)时 - 一切正常。消息被直接发送到队列,handle() 已经接收到它。但是对于 TopicExchange.... 我尝试使用它:

测试总是失败,但在日志中我看到了这个 - DEBUG osamqp.rabbit.core.RabbitTemplate - Publishing message on exchange [sample.exchange], routingKey = [qq] 怎么了???谢谢

0 投票
2 回答
1945 浏览

rabbitmq - 动态 SendTo 注释

我有如下Java代码来接收来自队列的消息,处理它并将处理后的消息写入另一个队列。

在这里,我总是从“rawFusion”队列中获取消息并将其写入“Fusion”队列。

我想做的是,根据某些条件将消息写入不同的队列。所以我想 在收到来自“RawFusion”队列的消息后决定@SendTo参数(或者可能不使用)。@SendTo

知道怎么做吗?

提前致谢