问题标签 [rabbitmq-shovel]

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 回答
168 浏览

rabbitmq - 如何在 SSL 中设置 RabbitMQ 动态铲子

我想设置一个铲子,其中目标 RabbitMQ 配置为启用 TLS。

我无法创建铲子,铲子保持在启动状态。

我在两个单独的 docker 容器中有两个不同的 RabbitMQ 实例,其中一个通过端口 5671 (SSL) 和 6671 (SSL) 从主机公开。

我正在使用 RabbitMQ 管理插件来建立铲子

下面是连接细节

源 AMQP URI:

目标 AMQP URI

这里可能是什么问题?

请帮助

0 投票
1 回答
922 浏览

rabbitmq - 第一次后 RabbitMQ 消息没有被发送到死信

我们已经将队列配置为将死信消息(特别是已确认消息)发送到死信交换器,该交换器按其原始主题将它们路由到各个死信队列。这一切都很好,当消息被确认时,它们被发送到正确的死信队列。

当我们将这些消息从 dlq 铲回正常队列时,麻烦就来了,在那里它们又被 nack 了。出于某种原因,第二次通过它们只是消失了,而不是被送回了死信交换。

我假设正在进行某种“循环消息路由”检测,但找不到类似的东西。第二次检查消息会给出所有预期的标题,所以我不确定这样的事情甚至可以基于什么。任何关于下一步看哪里或兔子是否有这样的东西的建议将不胜感激!

如果有必要,我们的消费者是用 python 编写的,使用 pika 库进行通信。

0 投票
0 回答
220 浏览

rabbitmq - 如何为在同一台机器上运行的两个 RabbitMQ 实例配置 Shovel 插件

抱歉,如果这是重复的问题,但即使经过大量搜索,我也很难让它工作。感谢您提前提供任何帮助!

我有两个 RabbitMQ 实例在我的机器上运行的 docker 容器中运行,如下所示。

我正在尝试配置一个铲子插件,以便我可以通过铲子插件将消息从代理“shovel-rabbit-snt”传递到“shovel-rabbit-rcv”代理并在我的接收器代码中获取它。但我无法让铲子进入运行状态并始终从 RabbitMQ 管理 UI 获得以下错误消息。

我的铲子配置:-

0 投票
2 回答
1927 浏览

rabbitmq - 如何配置 RabbitMQ 铲子?

我在不同的数据中心有 2 个 RabbitMQ 集群。此时我需要将其中一个交换从一只兔子铲到另一只兔子。我怎样才能实现它?

0 投票
1 回答
357 浏览

rabbitmq - 动态铲子在 Rabbitmq 中失败

我正在尝试通过代码和使用 UI 在我的 RabbitMQ 实例中创建动态铲子。在这两种情况下,我都可以制作铲子。但是,它稍后会失败,并且无法根据需要移动消息。

通过邮递员

回复 :201

在 UI -> admin -> Shovel Status

当我尝试使用代码以及从 UI 而不是邮递员执行所有这些操作时,我收到了同样的错误。

不知道我哪里出错了。

0 投票
1 回答
144 浏览

rabbitmq - RabbitMQ:微服务通信的铲子与联邦

我花了很多时间试图弄清楚我应该使用 RabbitMQ federation 插件还是 shovel。

基本上我有两个微服务。我希望他们中的一个向另一个发送消息。每个微服务都有不同的rabbitMQ集群,所以我需要使用Federation/shovel。

我读了这篇文章何时使用 RabbitMQ 铲子以及何时使用联邦插件?仍然无法弄清楚/做出决定。

我想满足以下几点:

  1. 松耦合
  2. 微服务彼此不了解——即第一个微服务发出一条消息说“我已经完成了 x”。第二个微服务只是监听那个“事件”并采取相应的行动......
  3. 将来我“可能”想要添加更多的微服务,每个都有自己的 rabbitMQ 集群/vhost。

根据这些信息 - 你推荐什么,铲子还是联邦?

0 投票
0 回答
76 浏览

rabbitmq - 在rabbit mq中配置铲子时访问目标虚拟主机被拒绝

我使用 kubernetes 在集群环境中部署了 rabbit mq。有 3 个 pod 在运行,并且在 rabbit mq 上配置了 HA。

当我配置铲子将消息从活动主机复制到备用主机时。它不工作。它给出错误“对目标虚拟主机的访问被拒绝d”。

当我为不同的虚拟主机创建铲子时,它工作正常。是否有任何单独的配置来配置集群rabbit mq中的铲子。

0 投票
0 回答
62 浏览

rabbitmq - 用于 AMQP1.0 的 RabbitMQ 铲子

我们正在尝试使用 AMQP1.0 将 webMethods UM 服务器与 RabbitMQ (v3.8.17 / Erlang 23.3) 集成。

我们使用 AMQP1.0 作为源(来自 webMethods UM)和目标(进入 RabbitMQ)配置了一个动态铲子。目标协议设置为 AMQP1.0,因为我们想使用 RabbitMQ AMQP1.0 插件路由/寻址功能将 AMQP1.0 主题属性转换为 AMQP0.9.1 路由键。

我们发现(基于 Wireshark 捕获)铲子丢弃了 AMQP1.0 消息属性,仅将 AMQP1.0 数据部分转发到 RabbitMQ 代理。

当铲子源协议和目标协议都是 AMQP1.0 时,铲子是否打算丢弃 AMQP1.0 消息属性?

0 投票
1 回答
75 浏览

kubernetes - Rabbit MQ Shovel Plugin - 在节点故障的情况下创建重复数据

我正在rabbit mq中创建铲子插件,可以在一个pod上正常工作,但是,我们在具有多个pod的Kubernetes集群上运行,并且在pod重新启动的情况下,它会在每个pod上独立创建多个shovel实例,这导致目标上的重复消息复制。

详细步骤如下

  1. 我们正在使用 helm chart 在 Kubernetes 集群上部署 rabbit mq。

  2. 之后,我们使用 Rabbit MQ 管理 UI 创建铲子。一旦我们从 UI 创建它,铲子就可以正常工作,并且不会在目的地多次复制数据。

  3. 当任何 pod 重新启动时,它都会创建单独的 shovel 实例。这开始导致来自不同铲子实例的目的地重复消息复制的问题。

  4. 当我们在 Rabbit MQ UI 上看到 shovel 状态时,我们发现每个 pod 上运行着同一个 shovel 的多个实例。

  5. 当我们从 Rabbit MQ UI 手动启动铲子时,它将解决这个问题,并且只有一次实例在 UI 中可见。

所以我们得出结论的问题是,在 pod 故障/重启的情况下,如果任何其他 shovel 已经在节点/pod 上运行,则 shovel 无法与其他节点/pod 同步。由于我们能够通过重新启动铲形 UI 来解决此问题,但这不是一种有效的生产方法。在排队和交换的情况下,我们不会遇到这个问题。

任何人都可以在这里帮助我们解决这个问题。

0 投票
1 回答
65 浏览

c# - 使用masstransit 从通过shovel 与RabbitMq 链接的Azure 服务总线接收消息

我通过 shovel 链接 rmq 实例和 azure 服务总线,并使用 masstransit 发送/接收消息。我可以成功地向 rmq 发送消息并在服务总线中看到它,但无法使用公共交通接收。我认为这是因为有不同的消息签名。也许有人有类似的经历。谢谢