跳至主内容

RabbitMQ 4.1.0 已发布

·5 分钟阅读

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

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

亮点

此版本中的一些关键改进如下所列。

仲裁队列(Quorum Queue)吞吐量和并行度提升

仲裁队列的日志读取操作现在已卸载至通道(会话、连接)中执行。

从实际效果来看,这意味着消费者吞吐量的提高、发布者对队列向消费者交付速率干扰的降低,以及每个仲裁队列对 CPU 核心利用率的改善(前提是节点拥有足够的可用核心)。

初步支持 AMQP 1.0 过滤表达式

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

正如 AMQP 1.0 过滤表达式博客文章中所述,此功能允许多个并发客户端在保持消息顺序的同时,仅消费流中消息的一个子集。

功能标志(Feature Flags)的用户体验改进

几个小版本前毕业(强制性)的 功能标志 表明它们在用户体验方面仍有改进空间。例如,当集群中所有节点都支持某些必需的功能标志时,它们现在会在节点启动时自动启用。

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

rabbitmqadmin v2

rabbitmqadmin v2 是原 RabbitMQ HTTP API 命令行客户端的重大版本修订。

它支持更广泛的操作,包括健康检查、联邦上游(federation upstreams)操作、数据铲(shovels)、导出定义的转换、部分 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 对等发现

以下 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 发布分发

社区 RabbitMQ 镜像提供 4.1.0 预览版本。

升级到 4.1.0

升级文档指南

请参阅升级指南获取有关升级的文档,并查看 GitHub 发布页以获取各版本的发行说明。

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

蓝绿部署式升级适用于从 RabbitMQ 3.12.x 系列迁移。

新的必需功能标志

无。必需的功能标志集与 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.