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 负载。
使用默认交换的发布者的吞吐量增加了 10% ,达到 20%。
添加虚拟主机后,现在可以将其配置为默认队列类型。
Bug 修复
当节点发生故障时,持久的经典队列在某些情况下可能会 “丢失”。
在节点启动早期 DNS 主机名解析不可用的 Kubernetes 上执行滚动重启时,节点可能会卡住。例如,流行的默认缓存设置 CoreDNS 就是这种情况。
更强大的 Windows 可用磁盘空间监控功能。
流插件
增强
RabbitMQ 现在支持分区流(超级流)。超级流是一种通过将大流划分为较小流来进行横向扩展的方法。
流协议客户端和 RabbitMQ 节点现在具有交换其功能(支持的命令集)的机制。
允许应用程序检查某些流元数据的新流协议命令。
对流的单一活动消费者支持。
消费者现在可以访问他们提交的偏移信息。
OAuth 2 AuthN/AuthZ 后端插件
增强功能
OAuth 2 插件现在支持更多身份提供者和 OpenID Connect。
OAuth 2 插件现在支持 Rich Authorization Requests。
Grafana 仪表板
Bug 修复
概述页面上的一些计数器已移至 RabbitMQ 3.9 中引入的全局计数器。
管理插件
增强功能
管理 UI OAuth 2 集成支持更多身份提供者和 OpenID Connect。
由于内部使用了更高效的 JSON 序列化程序库,呈现大型结果集的 HTTP API 响应现在更高效。与 v3.10.x 相比,此类查询的峰值内存占用也降低了两位数。
可以列出和关闭特定用户的连接的新端点。
MQTT 插件
增强功能
一种配置身份验证超时的方法,很像 RabbitMQ 支持的其他一些协议。
STOMP 插件
增强功能
一种配置身份验证超时的方法,很像 RabbitMQ 支持的其他一些协议。
依赖变化
ra 升级到 2.3.0
osiris 升级到 1.3.0
prometheus 升级到 4.9.0
jsx 被替换为 thoas