RabbitMQ 是一个 Advanced Message Queuing Protocol(AMQP)的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 编写而成,RabbitMQ 也继承了这些优点。
RabbitMQ 3.11 是一个新功能版本,包括几个新功能和优化,毕业(强制)一些功能标志,且将最低要求的版本提高到 Erlang 25 ,以实现 ARM64 CPU 的奇偶校验。
核心服务器
增强功能
- RabbitMQ 3.11.0 要求在升级之前启用 3.8.x 版本系列中的所有功能标志。如果未启用功能标志,RabbitMQ 3.11 及更高版本的节点将拒绝启动。
- 更有效的连接跟踪。 这意味着在无法避免高连接流失的环境中减少 CPU 负载。#5610
- 使用默认交换的发布者的吞吐量增加了 10% ,达到 20%。#4606
- 添加虚拟主机后,现在可以将其配置为默认队列类型。#5305、#5769
Bug修复
- 当节点发生故障时,持久的经典队列在某些情况下可能会“丢失”。#4563
- 在节点启动早期 DNS 主机名解析不可用的 Kubernetes 上执行滚动重启时,节点可能会卡住。例如,流行的默认缓存设置 CoreDNS就是这种情况。#5438
- 更强大的 Windows 可用磁盘空间监控功能。#5738
流插件
增强
- RabbitMQ 现在支持分区流(超级流)。超级流是一种通过将大流划分为较小流来进行横向扩展的方法。
- 流协议客户端和 RabbitMQ 节点现在具有交换其功能(支持的命令集)的机制。#5308
- 允许应用程序检查某些流元数据的新流协议命令。#5412
- 对流的单一活动消费者支持。#3754
- 消费者现在可以访问他们提交的偏移信息。#5307
OAuth 2 AuthN/AuthZ 后端插件
增强功能
- OAuth 2 插件现在支持更多身份提供者和 OpenID Connect。#4749
- OAuth 2 插件现在支持 Rich Authorization Requests。#5234
Grafana 仪表板
Bug修复
概述页面上的一些计数器已移至 RabbitMQ 3.9 中引入的全局计数器。#5463
管理插件
增强功能
- 管理 UI OAuth 2 集成支持更多身份提供者和 OpenID Connect。#4749
- 由于内部使用了更高效的 JSON 序列化程序库,呈现大型结果集的 HTTP API 响应现在更高效。与 v3.10.x 相比,此类查询的峰值内存占用也降低了两位数。#5356
- 可以列出和关闭特定用户的连接的新端点。#5319
MQTT 插件
增强功能
一种配置身份验证超时的方法,很像 RabbitMQ 支持的其他一些协议。#5755
STOMP 插件
增强功能
一种配置身份验证超时的方法,很像 RabbitMQ 支持的其他一些协议。#5755
依赖变化
ra
升级到2.3.0
osiris
升级到1.3.0
prometheus
升级到4.9.0
jsx
被替换为thoas
更多兼容性问题可查看更新公告:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.11.0