RabbitMQ Streams 的交付优化
RabbitMQ Streams 专为高吞吐量场景而设计,但当您的入口速率较低时会发生什么?较低的消息速率会严重影响交付性能,使消息消耗速率降低一个数量级。RabbitMQ 4.2 引入了一项优化,可显著提高低吞吐量流的交付速率,使所有支持的协议都受益。
RabbitMQ Streams 专为高吞吐量场景而设计,但当您的入口速率较低时会发生什么?较低的消息速率会严重影响交付性能,使消息消耗速率降低一个数量级。RabbitMQ 4.2 引入了一项优化,可显著提高低吞吐量流的交付速率,使所有支持的协议都受益。
RabbitMQ 4.2 为 流 引入了 SQL 过滤器表达式,支持强大的代理端消息过滤。
在我们的基准测试中,将 SQL 过滤器与布隆过滤器结合使用,在具有高入口速率的高度选择性场景中,过滤速率超过了每秒 400 万条消息。这意味着只有您的消费者真正关心的消息才会离开代理,大大降低了网络流量和客户端处理开销。
Khepri,RabbitMQ 新的基于 Raft 的 元数据存储,在 RabbitMQ 4.0 中已获得完全支持。从下一个发布系列 RabbitMQ 4.2 开始,我们认为 Khepri 已足够成熟,可以成为默认的元数据存储,尤其考虑到其在数据安全性和恢复性方面相比 Mnesia 有了显著的改进。
我们进行了一系列基准测试,显示在许多元数据操作中性能得到了显著提升。下文附有对比表格。
RabbitMQ 4 已经发布一段时间了,我们已经介绍了一些它相比前代 RabbitMQ 3.13 的优点。例如,改进的性能、原生 AMQP 1.0,以及新的仲裁队列功能,这使得它与经典队列的功能趋于一致。
Debian 和 Ubuntu 用户请注意:我们的 apt 仓库正在迁移。
现有的仓库 ppa1.rabbitmq.com 和 ppa2.rabbitmq.com 将继续运行直到 2025 年 11 月 1 日,但不会收到任何新更新。
RabbitMQ Go Stream 客户端 1.5.8 是一个新 bug 修复版本,包含一项 关键修复。
此修复回滚了 PR 393,该 PR 引入了一个危险的 bug,导致在通道达到最大容量时库会跳过数据块的传递。实际上,消息将停止分发给应用程序。
该 bug 在消费者长时间处于接近峰值传递压力时,或者在消费者持续处理传递缓慢时触发。
该 bug 影响以下版本:1.5.5、1.5.6 和 1.5.7。
我们强烈建议尽快将客户端更新到 1.5.8。
RabbitMQ 不受 Erlang SSH 库中的 CVE-2025-32433 漏洞影响。RabbitMQ 不使用 SSH,无论是服务器端还是客户端。
我们很高兴地宣布在 VMware Tanzu RabbitMQ 4.1 中支持 WebSocket 上的 AMQP 1.0。
此功能使任何基于浏览器的应用程序都能够使用 AMQP 1.0 与 RabbitMQ 进行通信,为广泛的高效基于浏览器的业务消息传递场景铺平了道路。
RabbitMQ 4.1.0 是一个次要版本发布,其中包括 多项性能改进,以及一些新功能,例如用于 Kubernetes 的 新节点发现机制。
请参阅下面的兼容性说明,了解此版本中的重大更改或可能发生的更改。