amqp相关内容
我正在使用 RabbitMQ 服务器. 为了发布消息,我将 immediate 字段设置为 true 并尝试发送 50,000 条消息.使用rabbitmqctl list_queues,我看到队列中的消息数零. 然后,我将 immediate 标志更改为 false 并再次尝试发送 50,000 条消息.使用 rabbitmqctl list_queues,我看到总共有 100,00
..
我想了解像 RabbitMQ 这样的消息传递可以帮助消费者 Web 应用程序的场景/用例/是什么. 有什么具体的资源可以学习吗? 目前有哪些 Web 应用程序正在使用此类消息传递方案?如何使用? 解决方案 一般来说,消息总线(例如 RabbitMQ,但不限于)允许可靠的作业处理队列. 就网络应用程序而言,这对您来说意味着能够随着需求的增长扩展您的应用程序,并使您的 UI
..
我在运行与 ZMQ 的 PAIR 模式(非阻塞客户端服务器)连接时按下 Ctrl-C.后来当我尝试运行 REQ-REP(阻止客户端单服务器连接)模式时,我不断收到 Address already in use 错误.我试过用 netstat -ltnp | 运行 netstatgrep : 但没有列出任何进程. 那么究竟是谁在使用这个地址? 还有如何优雅地关闭这样的套
..
与简单地使用 RabbitMQ 的 .net 驱动程序相比,使用 NServiceBus 有什么优势(假设我们可以用 AMQP 替换 MSMQ).NSB 是否提供了 AMQP 中无法直接提供的任何附加功能或抽象. 解决方案 主要优势包括(但不限于): 负责消息的序列化/反序列化. 为发送消息 w 提供了一个简洁的模型.处理程序、多态分派、在管道中安排处理程序等. 处理工作单元.
..
消费者收到消息后,消费者/工人做一些验证,然后调用网络服务.在此阶段,如果发生任何错误或验证失败,我们希望将消息放回最初消费的队列. 我已阅读 RabbitMQ 文档.但是我对reject、nack和cancel方法之间的区别感到困惑. 解决方案 简短回答: 要重新排队特定消息,您可以选择 basic.reject 或 basic.nack 并将 multiple 标志设置为
..
而不是编写自己的库. 我们正在这里开展一个项目,该项目将是一个自我分割的服务器池,如果一个部分变得太重,经理会将其分割并作为单独的进程放在另一台机器上.它还会提醒所有受此影响的已连接客户端连接到新服务器. 我很好奇使用 ZeroMQ 进行服务器间和进程间通信.我的伙伴更愿意自己动手.我期待社区来回答这个问题. 我自己是一个相当新手的程序员,刚刚了解了消息队列.正如我在谷歌上搜
..
我们正在开发应托管在 Azure Service Fabric 中的 .Net Core 服务.此 SF 服务需要通过其 AMQP 1.0 SSL TLS 端点与在 Azure IoT 中心注册的 10,000 个设备进行交互.每个 IoT 中心设备都有自己的安全令牌和 IoT 中心服务提供的连接字符串. 对于我们的场景,我们需要侦听来自 10,000 个 IoT 中心设备实例的所有云到设备
..
我计划通过以下两个链接来延迟队列中消息的处理 link1 link2.所以,正如链接中所建议的那样.我已经用 x-dead-letter-exchange 和 x-dead-letter-routing-key 参数声明了原始队列.当消息未能被消费者处理或 ttl 发生或队列长度超过时,它将消息发布到所谓的 dead-letter-queue.现在在 dead-letter-queue 中,类似的
..
几天前我问了同样的问题:无法“窥视";使用 AMQP 和 Node 来自 Azure 服务总线队列的消息.我再次问同样的问题,但有一些不同(因此,请不要将此问题标记为另一个问题的重复): 在上一个问题中,我使用了 nodeamqp10 库,但是根据 Github 页面上针对该库的一些评论,我最终使用了 rhea 而不是 nodeamqp10 库. 在 Azure 服务总线团队的帮助下,我取
..
我们正在编写需要消息传递的 C++ 代码.是否有免费/开源且稳定的 AMQP 服务器可用,它具有同样稳定的 C++ 客户端库.我们还需要向用户提供我们代码的 Python 接口(想法是在 C++ 中做最大的事情并在 Python 中公开 API). 实现这一目标的最佳方法是什么. 解决方案 为了将来参考,请查看 Apache Qpid - 它有一个 C++ 客户端库,非常好.您的用例
..
我有一个场景,我需要执行一系列流程,每个步骤都在独立的应用程序中完成和扩展.我正在使用主题交换进行所有交换.当前的拓扑是这样的: P -> X -> Q -> C/P -> X -> Q -> C 我们正在“版本控制"我们的队列以处理影响消息结构的可能的需求变化.绑定可能如下所示: step1.exchange 与 step1.v1.queue 绑定,key 为 step1.v1
..
我想知道如何使用 Amqpphplib 延迟. 我使用了这个很棒的咖啡脚本教程: https://github.com/jamescarr/rabbitmq-scheduled-delivery 但它似乎不适用于 PHP-amqplib. 消息按我的意愿过期,但“x-dead-letter-exchange"似乎不起作用.我使用了 RabbitMQ 管理控制台,我看到了所有
..
我有多个任务生产者将工作添加到队列中.我还有多个消费者从该队列中汲取营养.由于这些队列是先进先出的,因此它们按添加顺序出列. 在我的场景中,任务从 HTTP 请求添加到队列中.每个任务都与一个帐户相关联,并且没有速率限制.因此,来自一个帐户的任务可能会淹没消息队列. 为了解决这个问题,我一直在寻找一种队列实现,它允许我以循环方式处理来自多个帐户的排队任务,以确保公平. 我目前使用
..
我想有选择地从 AMQP 队列中删除消息,甚至不读取它们. 场景如下: 发送方希望基于 X 类型的新信息到达的事实使 X 类型的消息过期.因为订阅者很可能还没有消费最新的 X 类型消息,发布者应该删除以前的 X 类型消息并将最新的消息放入队列中.整个操作应该对订阅者透明——事实上他应该使用像 STOMP 这样简单的东西来获取消息. 如何使用 AMQP 做到这一点?或者也许在另一种
..
我想向 RabbitMQ 服务器发送一条消息,然后等待回复消息(在“回复"队列中).当然,如果处理这些消息的应用程序关闭,我不想永远等待 - 需要超时.这听起来像是一项非常基本的任务,但我找不到办法做到这一点.我现在遇到了 py-amqplib 和 RabbitMQ .NET 客户端. 到目前为止,我得到的最佳解决方案是使用 basic_get 和 sleep 进行轮询,但这非常难看: d
..
我有一个 Django 项目,我正在尝试使用 Celery 提交任务进行后台处理(http://ask.github.com/celery/introduction.html).Celery 与 Django 集成良好,我已经能够提交我的自定义任务并返回结果. 唯一的问题是我找不到在守护进程中执行自定义初始化的理智方法.在开始处理任务之前,我需要调用一个加载大量内存的昂贵函数,我无法承受每次
..
我已经看过这个问题.它表明未安装 AMQP PECL 扩展.但是,我已经成功安装了 RabbitMQ 和内置的 PECL AMQP 扩展.以下是phpinfo()的输出. 您可以清楚地看到,AMQP 已正确加载.但是,当我尝试建立连接时,它显示 PHP 致命错误:未找到类 'AMQPConnection'.下面是代码. $connection = new AMQPConnection();
..
我的容器 XML 配置: 和 myListener 只是一个类 @Component("myListener")公共类 MyListener 实现 MessageListener {@自动连线SomeDependency 依赖;..
..
简单的问题,但 Google 或 Pika 开源代码没有帮助.有没有办法在 Pika 中查询当前队列大小(项目计数器)? 解决方案 在AMQP协议中有两种获取队列大小的方法.您可以使用 Queue.Declare 或 Basic.Get. 如果您在消息到达时使用 Basic.Consume 进行消费,那么除非您断开连接(超时)并重新声明队列,否则您将无法获得此信息,或者收到一条消息但
..
我创建了一个简单的发布者和一个使用 basic.consume 订阅队列的消费者. 我的消费者在作业无异常运行时确认消息.每当我遇到异常时,我都不会确认消息并提前返回.只有已确认的消息会从队列中消失,因此可以正常工作. 现在我希望消费者再次获取失败的消息,但重新使用这些消息的唯一方法是重新启动消费者. 我需要如何处理这个用例? 设置代码 $channel = new AMQP
..