问题标签 [amqp]

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 投票
4 回答
530 浏览

linux - 用于 ubuntu 的稳定简单的 amqp 服务器

我在 Ubuntu 10.04 64 位操作系统上使用 rabbitmq-server 作为带有 python 客户端的 amqp 服务器。

Rabbitmq-server 现在无法启动。我卸载并安装了最新的 rabbitmq-server 1.8.0 但我仍然无法让 rabbitmq 工作。

我想要在 ubuntu 系统上使用 amqp 的学习曲线较少的其他替代方案。你能推荐一个吗?

0 投票
1 回答
263 浏览

python - py-amqp/flopsy:在 Python 中等待单个 AMQP 消息

我有一个与此类似的问题在 py-amqp/flopsy 中很容易说“我将永远等待,并且我希望在收到消息时调用此回调”,但我找不到任何方式说“好的,我收到了我想要的消息,现在停止等待。” (也许是 GOTO?开个玩笑......)有没有一种优雅的方式来做到这一点?

0 投票
2 回答
13884 浏览

messaging - AMQP 与 Websphere MQ

我们正在开发一个支持 AMQP 进行排队的应用程序。我们的一些客户正在使用 Websphere MQ。我只是想知道这两种协议在功能方面的可互换性。我正在使用celery,只要我可以编写 Websphere MQ 后端,它就可以让我抽象出较低级别的东西。我试图弄清楚这将是一个多么困难的挑战。

Websphere MQ 是否提供 AMQP 功能的超集?是否有任何一个可能让我的生活变得困难的“特征”?

0 投票
2 回答
10086 浏览

amqp - DDS vs AMQP vs ZeroMQ

我想要一个关于我的评估和担忧是否正确的反馈。

一段时间以来,我一直在研究数据分发服务、AMQP 和 ZeroMQ 这三者,用于在数据中心中构建数据传输层。这三个看起来都很有希望,但我在少数情况下遇到了一些阻塞问题。

为了给出一个上下文,我的要求是:

  1. 扩展到 500 多个物理节点、1000 多个发布者和订阅者。
  2. 支持消息的持久传递以照顾失败的订阅者。
  3. 总吞吐量应在 100 万条消息/秒以北

AMQP 的问题:

  1. Broker 架构似乎是整个部署设置中的瓶颈和中心故障点。我可以通过放置联合和集群来提高待处理消息的性能和可用性,从而使我的部署复杂化,但它们似乎仍然不能防故障。
  2. 持久队列的性能似乎非常低。我的示例应用程序只能为 6-7K 消息/核心/队列/应用程序提供时钟。

ZeroMQ 的问题:

  1. 文档似乎有点缺乏深度。
  2. 待处理消息的系统行为似乎在 PUB/SUB 通信模型中引起了麻烦。请参考:zeromq 如何使用 PUB/SUB 模式处理慢消费者

OpenSplice DDS:我没有发现 DDS 协议中缺少任何东西,除了在行业中的采用。想知道对该产品在稳定性、性能或限制方面的第一手评价。

0 投票
1 回答
7053 浏览

content-type - RabbitMQ中的内容类型头有什么特殊含义吗?

RabbitMQ 中的内容类型标头是否有任何特殊含义,或者它只是我的生产者和消费者表示他们正在发送什么样的数据的一种标准化方式?换句话说:具有某些内容类型的消息会得到任何特殊处理,还是只是字节,无论哪种方式?

0 投票
2 回答
5981 浏览

python - 使用 RabbitMQ 和 Python 进行基于内容的路由

RabbitMQ 和 Python 是否可以进行基于内容的路由?

AMQP 标准和 RabbitMQ 声称支持基于内容的路由,但是是否有任何 Python 库支持指定基于内容的绑定等?

我目前使用的库(py-amqplib http://barryp.org/software/py-amqplib/)似乎只支持简单模式匹配(#、*)的基于主题的路由。

0 投票
4 回答
6674 浏览

benchmarking - RabbitMQ 消息消费者停止消费消息

我们的团队在 ActiveMQ 或 RabbitMQ 之间进行选择。我们制作了 2 个小的生产者/消费者尖峰,发送带有 16 个字符串、一个时间戳和 2 个整数的数组的对象消息。我们的开发机器上的尖峰是正常的(消息被很好地消耗)。

然后是长凳。我们首先注意到,有时在我们的机器上,当我们发送大量消息时,消费者有时会挂起。它在那里,但消息在队列中累积。

当我们上台时:

  • 2 个 rabbitmq 机器集群 4 核/3.2Ghz,4Gb RAM,由 VIP 负载平衡
  • 在 rabbitmq 机器上运行的 1 到 6 个消费者,将消息保存在 mysql 数据库中(数据库的机器类型相同)
  • 12 个生产者在 12 台 AS 机器(tomcat)上运行,被另一台机器上运行的 jmeter 攻击。在产生相同负载的 RabbitMQ 消息的 servlet 上,负载约为每秒 600 到 700 个 http 请求。

我们注意到有时,消费者挂起(好吧,他们没有被阻止,但他们不再消费消息)。我们可以看到,因为每个消费者在数据库中保存了大约 100 msg/sec,所以当一个消费者停止消费时,DB 中每秒保存的整体消息以相同的比例下降(如果假设 3 个消费者停止,我们下降大约 600 msg /sec 到 300 msg/sec)。

在那段时间里,生产者没问题,仍然以 jmeter 速率(大约 600 msg/秒)生产。消息在队列中并由仍然“活着”的消费者获取。

我们先用生产者加载所有的servlet,然后一个一个地启动所有的消费者,检查连接是否正常,然后运行jmeter。

我们正在向一个直接交易所发送消息。所有消费者都在收听一个绑定到交换的持久队列。

这一点对我们的选择很重要。你用 rabbitmq 看到过这个,你知道发生了什么吗?

谢谢您的回答。

0 投票
1 回答
1738 浏览

ruby - RabbitMQ/AMQP 未处理的通道错误 - NOT_FOUND

我正在尝试从 Ruby 脚本(使用Bunny )向 RabbitMQ 发布消息,并从 node.js 服务器(使用node-amqp)使用它们。

第一条消息成功到达,但随后在 node.js 中记录了一个错误,连接关闭,没有收到更多消息:

如果我将两条消息发布到交换中,然后运行 ​​node.js 服务器,我可以看到它们都在记录错误之前到达,这表明 RabbitMQ 在交换或队列为空时正在关闭它。但是,由于我在这两个上都将 autoDelete 设置为 false,所以它不应该。

有什么建议么?

我的 node.js 脚本看起来像这样:

我的 Ruby 脚本看起来像:

0 投票
4 回答
6731 浏览

activemq - 预建的 AMQP 和 STOMP 客户端(如 GUI 客户端)

我正在寻找一个客户端(如 GUI 客户端,而不是客户端库)来使用我们的 MQ 服务器并熟悉它的语义。只需按一下按钮(或文本命令)就可以发送和接收消息,甚至可能会向我更新服务器队列和消息的状态。管理将是一个奖金。UI 不必是图形的(即命令行客户端很好)。

服务器可能会运行 RabbitMQ,因此任何特定于 RabbitMQ 的东西都很好,ActiveMQ 也是如此。但我宁愿有一个通用的 AMQP 或 STOMP 工具。

那么,存在这样的东西吗?

我知道一些管理和监控工具都带有服务器发行版,但没有客户端,对吧?

0 投票
2 回答
2754 浏览

android - AMQP + Android 库

有适用于 Android 的amqp库吗?