amqp相关内容

RabbitMQ 使用立即数和强制位

我正在使用 RabbitMQ 服务器. 为了发布消息,我将 immediate 字段设置为 true 并尝试发送 50,000 条消息.使用rabbitmqctl list_queues,我看到队列中的消息数零. 然后,我将 immediate 标志更改为 false 并再次尝试发送 50,000 条消息.使用 rabbitmqctl list_queues,我看到总共有 100,00 ..
发布时间:2021-11-27 11:48:25 其他开发

在 Web 应用程序中使用像 RabbitMQ 这样的消息传递?

我想了解像 RabbitMQ 这样的消息传递可以帮助消费者 Web 应用程序的场景/用例/是什么. 有什么具体的资源可以学习吗? 目前有哪些 Web 应用程序正在使用此类消息传递方案?如何使用? 解决方案 一般来说,消息总线(例如 RabbitMQ,但不限于)允许可靠的作业处理队列. 就网络应用程序而言,这对您来说意味着能够随着需求的增长扩展您的应用程序,并使您的 UI ..
发布时间:2021-11-27 11:48:04 其他开发

从 zmq.error.ZMQError 中恢复:地址已在使用中

我在运行与 ZMQ 的 PAIR 模式(非阻塞客户端服务器)连接时按下 Ctrl-C.后来当我尝试运行 REQ-REP(阻止客户端单服务器连接)模式时,我不断收到 Address already in use 错误.我试过用 netstat -ltnp | 运行 netstatgrep : 但没有列出任何进程. 那么究竟是谁在使用这个地址? 还有如何优雅地关闭这样的套 ..
发布时间:2021-11-27 11:47:56 服务器开发

NServiceBus 相对于普通 RabbitMQ 的特定优势

与简单地使用 RabbitMQ 的 .net 驱动程序相比,使用 NServiceBus 有什么优势(假设我们可以用 AMQP 替换 MSMQ).NSB 是否提供了 AMQP 中无法直接提供的任何附加功能或抽象. 解决方案 主要优势包括(但不限于): 负责消息的序列化/反序列化. 为发送消息 w 提供了一个简洁的模型.处理程序、多态分派、在管道中安排处理程序等. 处理工作单元. ..
发布时间:2021-11-27 11:47:45 其他开发

如何在 RabbitMQ 中重新排队消息

消费者收到消息后,消费者/工人做一些验证,然后调用网络服务.在此阶段,如果发生任何错误或验证失败,我们希望将消息放回最初消费的队列. 我已阅读 RabbitMQ 文档.但是我对reject、nack和cancel方法之间的区别感到困惑. 解决方案 简短回答: 要重新排队特定消息,您可以选择 basic.reject 或 basic.nack 并将 multiple 标志设置为 ..
发布时间:2021-11-27 11:47:35 其他开发

为什么使用 AMQP/ZeroMQ/RabbitMQ

而不是编写自己的库. 我们正在这里开展一个项目,该项目将是一个自我分割的服务器池,如果一个部分变得太重,经理会将其分割并作为单独的进程放在另一台机器上.它还会提醒所有受此影响的已连接客户端连接到新服务器. 我很好奇使用 ZeroMQ 进行服务器间和进程间通信.我的伙伴更愿意自己动手​​.我期待社区来回答这个问题. 我自己是一个相当新手的程序员,刚刚了解了消息队列.正如我在谷歌上搜 ..
发布时间:2021-11-27 11:47:27 其他开发

模拟来自 Azure Service Fabric 群集的 10,000 个 Azure IoT 中心设备连接

我们正在开发应托管在 Azure Service Fabric 中的 .Net Core 服务.此 SF 服务需要通过其 AMQP 1.0 SSL TLS 端点与在 Azure IoT 中心注册的 10,000 个设备进行交互.每个 IoT 中心设备都有自己的安全令牌和 IoT 中心服务提供的连接字符串. 对于我们的场景,我们需要侦听来自 10,000 个 IoT 中心设备实例的所有云到设备 ..
发布时间:2021-11-27 11:47:11 C#/.NET

在 ttl 之后,死信消息不会重新排队到原始队列

我计划通过以下两个链接来延迟队列中消息的处理 link1 link2.所以,正如链接中所建议的那样.我已经用 x-dead-letter-exchange 和 x-dead-letter-routing-key 参数声明了原始队列.当消息未能被消费者处理或 ttl 发生或队列长度超过时,它将消息发布到所谓的 dead-letter-queue.现在在 dead-letter-queue 中,类似的 ..
发布时间:2021-11-27 11:47:03 其他开发

获取“amqp:内部错误"使用 AMQP、rhea 和 Node 从 Azure 服务总线队列查看消息时

几天前我问了同样的问题:无法“窥视";使用 AMQP 和 Node 来自 Azure 服务总线队列的消息.我再次问同样的问题,但有一些不同(因此,请不要将此问题标记为另一个问题的重复): 在上一个问题中,我使用了 nodeamqp10 库,但是根据 Github 页面上针对该库的一些评论,我最终使用了 rhea 而不是 nodeamqp10 库. 在 Azure 服务总线团队的帮助下,我取 ..

AMQP C++ 实现

我们正在编写需要消息传递的 C++ 代码.是否有免费/开源且稳定的 AMQP 服务器可用,它具有同样稳定的 C++ 客户端库.我们还需要向用户提供我们代码的 Python 接口(想法是在 C++ 中做最大的事情并在 Python 中公开 API). 实现这一目标的最佳方法是什么. 解决方案 为了将来参考,请查看 Apache Qpid - 它有一个 C++ 客户端库,非常好.您的用例 ..
发布时间:2021-11-27 11:46:42 C/C++开发

RabbitMQ 主题交换:1 个交换 vs 多个交换

我有一个场景,我需要执行一系列流程,每个步骤都在独立的应用程序中完成和扩展.我正在使用主题交换进行所有交换.当前的拓扑是这样的: P -> X -> Q -> C/P -> X -> Q -> C 我们正在“版本控制"我们的队列以处理影响消息结构的可能的需求变化.绑定可能如下所示: step1.exchange 与 step1.v1.queue 绑定,key 为 step1.v1 ..
发布时间:2021-11-27 11:46:33 其他开发

怎么延迟?- php-amqplib

我想知道如何使用 Amqpphplib 延迟. 我使用了这个很棒的咖啡脚本教程: https://github.com/jamescarr/rabbitmq-scheduled-delivery 但它似乎不适用于 PHP-amqplib. 消息按我的意愿过期,但“x-dead-letter-exchange"似乎不起作用.我使用了 RabbitMQ 管理控制台,我看到了所有 ..
发布时间:2021-11-27 11:46:23 PHP

实现循环队列的队列机制有哪些?

我有多个任务生产者将工作添加到队列中.我还有多个消费者从该队列中汲取营养.由于这些队列是先进先出的,因此它们按添加顺序出列. 在我的场景中,任务从 HTTP 请求添加到队列中.每个任务都与一个帐户相关联,并且没有速率限制.因此,来自一个帐户的任务可能会淹没消息队列. 为了解决这个问题,我一直在寻找一种队列实现,它允许我以循环方式处理来自多个帐户的排队任务,以确保公平. 我目前使用 ..
发布时间:2021-11-27 11:46:14 Java开发

如何有选择地从 AMQP (RabbitMQ) 队列中删除消息?

我想有选择地从 AMQP 队列中删除消息,甚至不读取它们. 场景如下: 发送方希望基于 X 类型的新信息到达的事实使 X 类型的消息过期.因为订阅者很可能还没有消费最新的 X 类型消息,发布者应该删除以前的 X 类型消息并将最新的消息放入队列中.整个操作应该对订阅者透明——事实上他应该使用像 STOMP 这样简单的东西来获取消息. 如何使用 AMQP 做到这一点?或者也许在另一种 ..
发布时间:2021-11-27 11:46:04 其他开发

等待带有超时的单个 RabbitMQ 消息

我想向 RabbitMQ 服务器发送一条消息,然后等待回复消息(在“回复"队列中).当然,如果处理这些消息的应用程序关闭,我不想永远等待 - 需要超时.这听起来像是一项非常基本的任务,但我找不到办法做到这一点.我现在遇到了 py-amqplib 和 RabbitMQ .NET 客户端. 到目前为止,我得到的最佳解决方案是使用 basic_get 和 sleep 进行轮询,但这非常难看: d ..
发布时间:2021-11-27 11:45:56 C#/.NET

如何设置 Celery 在运行我的任务之前调用自定义初始化函数?

我有一个 Django 项目,我正在尝试使用 Celery 提交任务进行后台处理(http://ask.github.com/celery/introduction.html).Celery 与 Django 集成良好,我已经能够提交我的自定义任务并返回结果. 唯一的问题是我找不到在守护进程中执行自定义初始化的理智方法.在开始处理任务之前,我需要调用一个加载大量内存的昂贵函数,我无法承受每次 ..
发布时间:2021-11-27 11:45:36 Python

PHP 致命错误:找不到“AMQPConnection"类

我已经看过这个问题.它表明未安装 AMQP PECL 扩展.但是,我已经成功安装了 RabbitMQ 和内置的 PECL AMQP 扩展.以下是phpinfo()的输出. 您可以清楚地看到,AMQP 已正确加载.但是,当我尝试建立连接时,它显示 PHP 致命错误:未找到类 'AMQPConnection'.下面是代码. $connection = new AMQPConnection(); ..
发布时间:2021-11-27 11:45:26 PHP

在 Pika 中获取队列大小(AMQP Python)

简单的问题,但 Google 或 Pika 开源代码没有帮助.有没有办法在 Pika 中查询当前队列大小(项目计数器)? 解决方案 在AMQP协议中有两种获取队列大小的方法.您可以使用 Queue.Declare 或 Basic.Get. 如果您在消息到达时使用 Basic.Consume 进行消费,那么除非您断开连接(超时)并重新声明队列,否则您将无法获得此信息,或者收到一条消息但 ..
发布时间:2021-11-27 11:45:12 Python

使用来自 RabbitMq 的不确认消息

我创建了一个简单的发布者和一个使用 basic.consume 订阅队列的消费者. 我的消费者在作业无异常运行时确认消息.每当我遇到异常时,我都不会确认消息并提前返回.只有已确认的消息会从队列中消失,因此可以正常工作. 现在我希望消费者再次获取失败的消息,但重新使用这些消息的唯一方法是重新启动消费者. 我需要如何处理这个用例? 设置代码 $channel = new AMQP ..
发布时间:2021-11-27 11:45:06 PHP