基于 WebSocket 的 AMQP 1.0
我们很高兴地宣布 VMware Tanzu RabbitMQ 4.1 中支持基于 WebSocket 的 AMQP 1.0。
此功能使任何基于浏览器的应用程序都可以使用 AMQP 1.0 与 RabbitMQ 通信,为各种高效的基于浏览器的业务消息传递场景铺平了道路。
我们很高兴地宣布 VMware Tanzu RabbitMQ 4.1 中支持基于 WebSocket 的 AMQP 1.0。
此功能使任何基于浏览器的应用程序都可以使用 AMQP 1.0 与 RabbitMQ 通信,为各种高效的基于浏览器的业务消息传递场景铺平了道路。
RabbitMQ 4.1 即将发布,与往常一样,除了新功能外,我们还进行了一些内部更改,应该可以提供更好的性能。
至少有 4 个值得注意的更改
RabbitMQ 4.1 包括一个完全重新设计的 Kubernetes 对等发现插件。升级到 4.1 时应该不需要配置更改,因此如果您愿意,可以停止阅读。如果您对详细信息感兴趣,请继续阅读。这篇博文解释了对等发现子系统的一般原理以及 rabbitmq_peer_discovery_k8s
的更改。
RabbitMQ 3.13.8
是 3.13.x
系列中的新补丁版本。此系列目前仅由商业支持覆盖。
对于公开可用的开源版本,请参阅 4.0.x
系列。
3.13.x
系列的发布工件可以通过 Broadcom 客户门户获得。
如果从 3.13.9 之前的版本升级,请查阅 3.13.0 发行说明。
Tanzu RabbitMQ 3.13.8
是 RabbitMQ 商业版的 3.13.x
系列中的新补丁版本。
此版本包括其他功能,例如热备复制、集群内流量压缩和 FIPS 启用的 Erlang 运行时。
Tanzu RabbitMQ 可在 Kubernetes 上使用,作为 OCI 镜像 和 OVA 镜像 使用。
此版本基于开源 RabbitMQ 3.13.x
,并包含 开源 RabbitMQ 3.13.8
中的所有最新反向移植。
3.13.x
系列的发布工件可以通过 Broadcom 客户门户获得
如果从 3.13.9 之前的版本升级,请首先查阅 开源 RabbitMQ 3.13.0 发行说明。
是时候打破 RabbitMQ 将消息存储在内存中的神话了。虽然这在 RabbitMQ 的早期是事实,并且在过去 10 年中是一个选项,但现代 RabbitMQ 版本几乎总是立即将消息写入磁盘。在这篇博文中,我们回顾了不同队列类型如何存储消息,但简短的答案是:不在内存中!
Erlang 端口映射守护进程 (epmd
) 是一个内置组件,可帮助基于 Erlang 的应用程序(包括 RabbitMQ)发现彼此的分配端口。与用于主机名解析的 DNS 一起,epmd
是 RabbitMQ 节点集群、节点间通信和 CLI 工具连接所依赖的基础架构的一部分。
虽然 epm
的范围非常有限,但其在公共互联网上的暴露通常意味着 Erlang 分配端口也暴露在外。这会产生潜在的安全风险:如果攻击者找到这些分配端口,他们只需一个密钥值就可以针对节点(或集群)运行 CLI 命令。
最近的扫描显示,超过 85,000 个 epmd
实例可公开访问,其中大约一半与 RabbitMQ 服务器相关联。
幸运的是,通常只需限制对一系列端口的网络访问即可缓解此风险。 epmd
和节点间通信也可以限制为本地网络接口,特别是对于用于运行测试的单节点集群。
阅读 Erlang 生态系统基金会博客上的完整文章。