跳至主内容

RabbitMQ 4.1.0 已发布

·5 分钟阅读

RabbitMQ 4.1.0 是一个次要版本发布,其中包括 多项性能改进,以及一些新功能,例如用于 Kubernetes 的 新节点发现机制

请参阅下面的兼容性说明,了解此版本中的重大更改或可能发生的更改

亮点

本次发布的一些主要改进列出如下。

Quorum 队列吞吐量和并行性改进

Quorum 队列的日志读取现已卸载到通道(会话、连接)。

实际而言,这意味着消费者吞吐量得到提高,发布者对队列向消费者传递速率的干扰降低,并且每个 Quorum 队列的 CPU 核心利用率得到改善(假设节点有足够的核心可用)。

初步支持 AMQP 1.0 过滤器表达式

支持 AMQP 过滤器表达式 1.0 工作草案 09propertiesapplication-properties 过滤器。

正如 AMQP 1.0 过滤器表达式 博客文章中所述,此功能使多个并发客户端能够各自仅消费流中的一部分消息,同时保持消息顺序。

功能标志(Feature Flags)的易用性改进

几年前就已毕业(强制性)的 功能标志 被证明可以改进用户体验。例如,某些必需的功能标志现在将在节点启动时启用,前提是集群中的所有节点都支持它们。

请参阅下面的核心服务器更改以及 专用于功能标志改进的 GitHub 项目,以获取相关更改的完整列表。

rabbitmqadmin v2

rabbitmqadmin v2 是 RabbitMQ HTTP API 的原始 CLI 客户端的主要修订版本。

它支持更广泛的操作,包括运行状况检查、联邦上游(federation upstreams)、Shovel、导出定义转换、(部分)Tanzu RabbitMQ HTTP API 端点、交互模式下的 --long-option 和子命令推断等。

破坏性更改和兼容性说明

AMQP 0-9-1 初始最大帧大小

在客户端连接能够协商最大帧大小(frame_max)之前,它必须成功进行身份验证。在身份验证阶段之前,会使用一个特殊的、较低的 frame_max 值。

在此版本中,该值从原始的 4096 字节增加到 8192 字节,以适应更大的 JWT 令牌

现在,覆盖 frame_max 的客户端必须使用 8192 字节或更大的值。我们建议使用 131072 的默认服务器值:请勿覆盖 rabbitmq.conf 中的 frame_max 键,也不要在应用程序代码中设置它。

amqplib 是一个流行的客户端库,它一直使用 4096 的较低 frame_max 默认值。其用户必须 升级到兼容版本(从 0.10.7 开始)或显式使用更高的 frame_max

MQTT

  • 默认的 MQTT 最大数据包大小 已从 256 MiB 更改为 16 MiB。

    此默认值可以通过 配置 mqtt.max_packet_size_authenticated 来覆盖。请注意,此值不得大于 max_message_size(该值也默认为 16 MiB)。

etcd Peer 发现

以下 rabbitmq.conf 设置不受支持

  • cluster_formation.etcd.ssl_options.fail_if_no_peer_cert
  • cluster_formation.etcd.ssl_options.dh
  • cluster_formation.etcd.ssl_options.dhfile

Erlang/OTP 兼容性说明

此版本 需要 Erlang 26.2 并支持 Erlang 27.x。

提供最新的 Erlang 版本 解释了可以使用哪些软件包存储库和工具来提供 Erlang 26.x 和 27.x 的最新修补程序版本。

发行版本

预览版本的制品通过 GitHub releases 分发

社区 RabbitMQ 镜像 community RabbitMQ image 有一个 4.1.0 预览版本。

升级到 4.1.0

升级的文档指南

请参阅 升级指南 以获取有关升级的文档,以及 GitHub releases 以获取各个版本的发行说明。

此发布系列支持从 4.0.x3.13.x 进行升级。

从 RabbitMQ 3.12.x 系列迁移,可使用 蓝绿部署(Blue/Green Deployment) 风格的升级。

新的必需功能标志

无。必需功能标志集与 4.0.x 相同。

混合版本集群兼容性

RabbitMQ 4.1.0 节点可以与 4.0.x 节点并存。只有当集群中的所有节点都升级到 4.1.0 或该系列中更新的修补程序版本时,才能使用 4.1.x 特有的功能。

在混合版本模式下运行,系统的某些方面可能无法按预期运行。已知行为更改列表将在未来的更新中介绍。一旦所有节点都升级到 4.1.0,这些不规则现象将消失。

混合版本集群是一种允许滚动升级的机制,不适合长时间运行(不超过几小时)。

推荐的升级后程序

与其它版本相比,此版本不需要额外的升级后程序。

发布制品

可以在 GitHub 以及 RPMDebian 软件包存储库上获取发布制品。

社区支持现仅涵盖 4.1.x 系列

随着 RabbitMQ 4.1.0 的发布,此系列不再受 社区支持 的覆盖。

未来的 4.0.x 版本将仅对通过 Broadcom 客户门户的付费客户提供。

所有非付费用户必须升级到 4.1.0 才能获得核心团队的社区支持。

© . This site is unofficial and not affiliated with VMware.