amqp相关内容
我在 OS X 上安装了 RabbitMQ 服务器,并在命令行上启动它.现在,我应该如何阻止它运行并不明显?在我这样做之后: sudo rabbitmq-server -detached 我明白了: 激活 RabbitMQ 插件 ...0 个插件激活: 就是这样.我应该如何正确关闭它?在文档中,它提到了使用 rabbitmqctl(1),但我不清楚这意味着什么.谢谢. 编辑:根据下面
..
有谁知道是否有办法从客户端应用程序检查 RabbitMQ 队列中的消息数量? 我正在使用 .NET 客户端库. 解决方案 你可以通过客户端实际检索这个. 当你执行 queue_declare 操作时,RabbitMQ 返回一个包含三个值的元组:(, , ).queue_declare 的 passive 参数允许您在不修改服务器状态的情况下检查队列是否存在,因此您可以将 que
..
我们正在考虑为我们的微服务基础架构(编排)引入基于 AMQP 的方法.我们确实有几个服务,比如说客户服务、用户服务、文章服务等.我们计划引入 RabbitMQ 作为我们的中央消息传递系统. 我正在寻找有关主题/队列等系统设计的最佳实践.一种选择是为我们系统中可能发生的每个事件创建一个消息队列,例如: user-service.user.deleted用户服务.user.updateduse
..
RabbitMQ 在某种程度上是否具有能力,我可以定义我的消费者,它具有消费相同消息的限制.即我的消费者使用 enqueue=true 进行基本拒绝.它会无限地继续收听相同的信息.我不是在谈论队列方面的 TTL.但是对消费者的控制/配置告诉我只想消费 5 次,然后将其发送到另一个队列.这可以实现吗? 解决方案 这可以在应用程序级别或通过 TTL 和 死信交换.在代理方面没有你想要的方式(我
..
我有一个支持 amqp 和 openwire 的 activeMQ 代理.openwire (tcp, 端口 61616) 的生产者是否有可能将生产到具有使用 amqp 协议的消费者的队列中? 或者我是否仅限于相同的协议消费者和生产者? 解决方案 是的,可以使用 ActiveMQ 与 OpenWire JMS 客户端和 AMQP 客户端进行互操作.保存消息的目的地不是单独的空间,因此
..
我一直在阅读有关 AMQP 消息确认原则的信息.(https://www.rabbitmq.com/confirms.html).非常有用且写得很好的文章,但是关于消费者声明的一个特别的事情确实令人困惑,这里是引述: 使用自动确认模式时需要考虑的另一件事是消费者过载. 消费者超载?消息队列由代理处理并保存在 RAM 中(如果我理解正确的话).它是关于什么超载的?消费者是否有某种第二个队
..
我在我的消费者体内抛出了一个 AmqpException.我的期望是消息会以先进先出的顺序返回队列,并在未来的某个时候被重新处理. 似乎 Spring AMQP 没有将消息释放回队列.而是尝试一遍又一遍地重新处理失败的消息.这会阻止处理新到达的消息.被卡住的那些在 AMQP 控制台中永远处于“解压"状态. 有什么想法吗? 解决方案 rabbitmq/Spring AMQP就是这
..
ActiveMQ/JMS 有一个内置机制,用于确保在使用竞争消费者模式时,共享公共标头(即 JMSXGroupID 标头)的消息始终由队列的同一消费者使用.队列的消费者完全不知道实际的标头值,因为具有公共标头的消息的保证是在服务器端而不是消费者端执行的.有关其工作原理的更多详细信息,请参阅 http://activemq.apache.org/message-groups.html . 用
..
我正在尝试使用 Spring AMQP 的 RabbitTemplate 实现对 RabbitMQ 的阻塞侦听器.在我的代码中,我使用的是 Spring-amqp 1.1.3 版本的 jar 文件,而我也研究了 1.3.1 版本,这个版本也不支持.有谁知道我是否缺少任何支持将阻塞侦听器注册到 RabbitMQ 中的新连接的版本.或者是否有任何未来版本的 spring amqp 支持此功能.
..
我为 RPC 工作负载配置了一个名为“ex_foo"的rabbitmq 扇出交换.当客户端连接到服务器时,它们会创建自己的非持久 RPC 接收队列并使用 BasicConsumer 连接到它.应用程序侦听消息/命令并响应请求的 reply_to 部分中定义的队列. 我发送扇出交换(因此,连接到它的每个应用程序/客户端)的一个简单消息/命令是一种 ping 请求消息,我的问题是我不知道我会得到
..
是否可以有一个@RabbitListener,例如: @RabbitListener(queues = STORAGE_REQUEST_QUEUE_NAME)公共 FindApplicationByIdResponse findApplicationById(FindApplicationByIdRequest 请求) {返回 repository.findByUuid(request.getI
..
我目前的 celery 设置有大约 10,000 个计划任务.我没有意识到计划任务是什么,并决定提前几个月使用它们发送后续电子邮件. 回想起来,将任务安排在未来超过 1 小时可能永远不是一个好主意,因为每次重新启动工作器时,它都必须重新接收来自 rabbitMQ 的每个计划任务,然后它们都只是坐在记忆. 我的问题是,如果我必须撤销一项任务,它不仅仅是删除它.任务保留在内存中,但撤销队列
..
我目前正在努力解决一个相当简单的问题.我想从 RabbitMQ 接收消息并将其转换为字符串(或稍后转换为 json 对象).但我得到的只是字节. Message 对象以这种方式将自身显示为字符串 (Body:'{"cityId":644}'; ID:null; Content:application/json; Headers:{}; Exchange:; RoutingKey:pages
..
我正在编写一个自动化测试来测试消费者.到目前为止,我在发布消息时不需要包含标题,但现在我需要.而且它似乎缺少文档. 这是我的出版商: 类 RMQProducer(object):def __init__(self, host, exchange, routing_key):self.host = 主机self.exchange = 交换self.routing_key = 路由键def p
..
我有一个场景,其中有一个应用程序正在生成不同类型的有趣事件(不是命令).生产者应用程序不关心事件由谁以及如何处理. 我正在实现一个消费者,他将监听一些已发布的事件并适当地处理它们.消费者应用程序想要检查发布者应用程序交换是否存在.那么,问题是如何利用spring提供的rabbit/AMQP库来检查是否存在特定名称的交换? 我想,这可以通过尝试将队列绑定到不存在的交换器来间接处理,从而导
..
..
我正在使用 RabbitMQ 服务器. 为了发布消息,我将 immediate 字段设置为 true 并尝试发送 50,000 条消息.使用rabbitmqctl list_queues,我看到队列中的消息数是零. 然后,我将 immediate 标志更改为 false 并再次尝试发送 50,000 条消息.使用 rabbitmqctl list_queues,我看到总共有 100,0
..
使用 NServiceBus 是否比简单地使用 RabbitMQ 的 .net 驱动程序有任何优势(假设我们可以用 AMQP 替换 MSMQ).NSB 是否提供 AMQP 中不直接提供的任何附加功能或抽象. 解决方案 主要优势包括(但不限于): 负责消息的序列化/反序列化. 为发送消息 w 提供了一个简洁的模型.处理程序、多态调度、在管道中安排处理程序等. 处理工作单元. 提供
..
我计划通过以下两个链接延迟队列中消息的处理 link1 link2.因此,正如链接中所建议的那样.我已经用 x-dead-letter-exchange 和 x-dead-letter-routing-key 参数声明了原始队列.当消息无法被消费者处理或发生 ttl 或队列长度超过时,它将消息发布到所谓的 dead-letter-queue.现在在 dead-letter-queue 中已经设置了
..
我有一个场景,我需要执行一系列流程,每个步骤都在独立的应用程序中完成和扩展.我正在为所有交流使用主题交流.当前的拓扑是这样的: P -> X -> Q -> C/P -> X -> Q -> C 我们正在“版本化"我们的队列以处理可能影响消息结构的需求变化.绑定可能看起来像这样: step1.exchange 使用绑定键 step1.v1 绑定到 step1.v1.queue
..