rabbitmq-exchange相关内容

为什么我不应该对所有事情都使用 rabbitmq 主题交换?

似乎工作模式、扇出和过滤主题都可以通过主题交换来实现.为什么我会改用直接或扇出交换? 我们希望将我们组织中发现的常见模式编入一个库中,该库抽象了 amqp 的无限灵活性(命名约定、默认为持久、发送通用标头、到期等).我们应该利用不同的交换类型还是使用主题实现所有模式?为什么? (我们在 Java 中通过 spring boot、golang 和 php 有消费者/发布者) 解决方 ..
发布时间:2022-01-11 18:03:04 其他开发

如何通过相关 ID 将 RabbitMq 消息聚合成单个消息

假设我有一个需要按顺序执行的命令管道,并且其中一些命令包含应该并行执行的多个操作(相同的关联 ID).假设我需要知道所有并行操作何时执行,以便在管道中继续执行. 在不使用数据库等外部数据源的情况下,是否可以通过使用交换和队列来单独使用 RabbitMQ 来实现这种编排? 我对以下用例感兴趣:我刚刚在同一个队列上发布了 3 条相同类型的消息.这些消息正在并行处理.我只想在所有相同关联 I ..
发布时间:2022-01-11 18:01:59 其他开发

多个带有 Spring Boot 的 Rabbitmq 队列

来自 Spring Boot 教程:https://spring.io/guides/gs/messaging-rabbitmq/p> 他们给出了一个仅创建 1 个队列和 1 个队列的示例,但是,如果我希望能够创建多于 1 个队列怎么办?怎么可能? 显然,我不能两次创建同一个 bean: @Bean队列队列(){返回新队列(queueNameAAA,false);}@豆角,扁豆队列队列( ..
发布时间:2022-01-11 17:41:12 其他开发

RabbitMQ 中的主题交换与直接交换

我们有一个将使用 RabbitMQ 的应用程序,并且有几个不同的队列用于在层之间传递消息. 最初,我计划使用多个直接交换,每种消息类型一个,但看起来使用不同路由键绑定的队列与单个主题交换将实现相同的目标. 进行单一交换似乎也更容易维护,但我想知道以一种方式进行比另一种方式有什么好处(如果有的话)? 选项 1,使用多个直接交换: ExchangeA(类型:直接)-队列AExcha ..
发布时间:2022-01-11 17:36:50 其他开发

RabbitMQ - 联合队列与交换联合

我已经建立了一个兔子集群,每次数据库发生变化时,我都会将消息发布到扇出交换器中. 我为我的一些使用这些更新的微服务绑定了专用队列,并且我最初还为外部客户端设置了一个专用队列,以便他们可以将其与自己的兔子基础设施联合起来,并使用每个消息. 现在我想知道是否允许交换联盟而不是为每个新的外部消费者创建一个新的专用队列是一种更好的方法,因为将会有越来越多的用户来. 有什么好处和坏处? ..
发布时间:2022-01-11 17:34:51 其他开发

RabbitMQ 消费者过载

我一直在阅读有关 AMQP 消息确认原则的信息.(https://www.rabbitmq.com/confirms.html).非常有用且写得很好的文章,但是关于消费者声明的一个特别的事情确实令人困惑,这里是引述: 使用自动确认模式时需要考虑的另一件事是消费者过载. 消费者超载?消息队列由代理处理并保存在 RAM 中(如果我理解正确的话).它是关于什么超载的?消费者是否有某种第二个队 ..
发布时间:2022-01-11 17:32:29 其他开发

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

我计划通过以下两个链接延迟队列中消息的处理 link1 link2.因此,正如链接中所建议的那样.我已经用 x-dead-letter-exchange 和 x-dead-letter-routing-key 参数声明了原始队列.当消息无法被消费者处理或发生 ttl 或队列长度超过时,它将消息发布到所谓的 dead-letter-queue.现在在 dead-letter-queue 中已经设置了 ..
发布时间:2022-01-11 17:14:53 其他开发

在 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 其他开发

消息、队列和交换的限制是什么?

允许的消息类型有哪些(字符串、字节、整数等)? 消息的最大大小是多少? 队列和交换的最大数量是多少? 解决方案 理论上任何东西都可以作为消息存储/发送.您实际上不想在队列中存储任何内容.如果队列大部分时间都是空的,则系统的工作效率最高.您可以使用两个先决条件将任何您想要的内容发送到队列: 您发送的内容可以与字节串相互转换 消费者确切地知道它得到了什么以及如何将其转换为原始对 ..
发布时间:2021-11-27 11:44:19 其他开发

Rabbitmq 文件描述符限制

Rabbitmq 文档说我们需要在生产中使用它之前进行一些配置.其中一个配置是关于最大打开文件数(这是一个操作系统参数). 我们使用的 Rabbitmq 服务器在 Ubuntu 16.04 上运行,根据我在网上找到的资源,我将打开的文件数更新为 500k.当我从命令行检查它时,我得到以下输出: root@madeleine:~# ulimit -n500000 然而,当我查看 rabbi ..
发布时间:2021-07-02 18:33:44 其他开发

RabbitMQ中消息,队列和交换的限制是什么?

允许的消息类型是什么(字符串,字节,整数等)? 邮件的最大大小是多少? 队列和交换的最大数量是多少? 解决方案 理论上,任何东西都可以存储/发送为消息.您实际上不想在队列上存储任何内容.如果队列大多数时间都是空的,则系统将最有效地工作.您可以使用两个先决条件将想要发送的任何内容发送到队列: 您要发送的内容可以与字节串相互转换 消费者确切地知道得到了什么以及如何将其转换为原始 ..
发布时间:2021-04-03 20:04:47 其他开发

列出与RabbitMQ Java客户端API进行交换的绑定

我似乎在文档中找不到任何信息,所以我想知道是否可以使用Java RabbitMQ API以某种方式获得与交易所相关的所有绑定. 查询/api/bindings时,我正在寻找类似http api结果的东西. 解决方案 /api/definitions是API端点,用于获取定义列表,包括交换,队列,绑定,用户,虚拟主机,权限和参数. ref: https://pulse.mozil ..
发布时间:2020-07-05 04:41:49 Java开发

如何在Node.js中对RabbitMQ进行身份验证?

错误:握手已由服务器终止:403(ACCESS-REFUSED),消息为"ACCESS_REFUSED-使用身份验证拒绝登录 激荡机制PLAIN.有关详细信息,请参阅代理日志文件." 我分别尝试了authMechanism('PLAIN','AMQPLAIN','EXTERNAL'),但是我遇到了同样的错误. 无法与RabbitMQ建立连接 var raabitmqSettings = { ..
发布时间:2020-07-05 04:41:45 其他开发

Rabbitmq的交换数量有限制吗?

在文档中或在google上都找不到与此相关的任何内容,只是它应该绑定到服务器的可用资源上. 有人在工作环境中一次有大量交流经验吗?仅创建交换不是问题(仅在达到内存限制之前),而应在具有高消息吞吐量且主要是动态交换创建/删除的工作项目中使用它. 解决方案 鉴于RabbitMQ中的其他所有内容都是如何构建的(并且知道它是用Erlang编写的并且内部使用了Mnesia之类的服务),可能没有 ..
发布时间:2020-07-05 04:41:41 其他开发