Erlang 版本要求
Erlang 版本要求
简介
本指南涵盖 Erlang/OTP 版本要求、Erlang 版本支持策略、RabbitMQ/Erlang 兼容性矩阵、版本特定说明以及配置最新 Erlang/OTP 版本的方法。
支持的 Erlang 版本策略
RabbitMQ 最多支持两个最新的 Erlang 发行系列。
目前它们是 Erlang 27.x 和 26.x。
Erlang 27 支持
Erlang 27 从 RabbitMQ 4.0.4 开始支持。
Erlang 26 支持
Erlang 26 从 RabbitMQ 3.12.0 开始支持。
RabbitMQ 和 Erlang/OTP 兼容性矩阵
下表提供了当前支持的 RabbitMQ 发行系列的 Erlang 兼容性矩阵。对于已达到生命周期结束的 RabbitMQ 发行版,请参阅不支持的系列兼容性矩阵。
RabbitMQ 版本最低要求的 Erlang/OTP最大支持的 Erlang/OTP注释4.1.04.0.94.0.84.0.74.0.64.0.54.0.426.227.x从 4.0.4 版本开始,4.0.x 发行系列与 Erlang 27 兼容。
4.0.34.0.24.0.126.226.2.x4.0 发行系列与 Erlang 26.2 兼容。
重要提示早于 4.0.4 的 RabbitMQ 版本与 Erlang 27 不兼容。
3.13.73.13.63.13.53.13.43.13.33.13.23.13.13.13.026.026.2.x3.13 发行系列与 Erlang 26 兼容。
从 Erlang 26 开始,TLS 实现默认启用TLS 客户端对等方验证。如果未配置客户端 TLS 证书和密钥对,则启用 TLS 的Shovel、Federation 链接和LDAP 服务器连接将失败。如果不需要对等方验证,则可以禁用它。
Erlang 中的 OpenSSL 3 支持被认为是成熟的,可以用于生产环境。
Erlang 26.1 及更高版本支持 OpenSSL 3 上的 FIPS 模式
3.12.133.12.123.12.113.12.1025.026.2.x3.12 发行系列与 Erlang 26 兼容。
从 Erlang 26 开始,TLS 实现默认启用TLS 客户端对等方验证。如果未配置客户端 TLS 证书和密钥对,则启用 TLS 的Shovel、Federation 链接和LDAP 服务器连接将失败。如果不需要对等方验证,则可以禁用它。
Erlang 中的 OpenSSL 3 支持被认为足够成熟,可以用于生产环境。
Erlang 26.1 及更高版本支持 OpenSSL 3 上的 FIPS 模式
3.12.93.12.83.12.73.12.63.12.525.026.1.x3.12 发行系列与 Erlang 26 兼容。
从 Erlang 26 开始,TLS 实现默认启用TLS 客户端对等方验证。如果未配置客户端 TLS 证书和密钥对,则启用 TLS 的Shovel、Federation 链接和LDAP 服务器连接将失败。如果不需要对等方验证,则可以禁用它。
Erlang 中的 OpenSSL 3 支持被认为足够成熟,可以用于生产环境。
Erlang 26.1 支持 OpenSSL 3 上的 FIPS 模式
3.12.43.12.33.12.23.12.13.12.025.026.0.x3.12 发行系列与 Erlang 26 兼容。
Erlang 中的 OpenSSL 3 支持被认为足够成熟,可以用于生产环境。
3.11.283.11.273.11.263.11.253.11.243.11.233.11.223.11.213.11.203.11.193.11.183.11.173.11.163.11.153.11.143.11.133.11.123.11.113.11.103.11.93.11.83.11.73.11.63.11.53.11.43.11.33.11.23.11.13.11.025.025.3.xErlang 26 从 RabbitMQ 3.12.0 开始支持。
从 Erlang 25.1 开始,Erlang 中的 OpenSSL 3.0 支持被认为足够成熟,可以用于生产环境。
Erlang 25 在 25.0.2 之前的版本受到 CVE-2022-37026 的影响,这是一个严重程度为关键的 CVE (CVSS 3.x 基础评分:9.8)
作为指导原则,建议使用每个支持的 Erlang/OTP 系列的最新次要版本和补丁版本。
配置最新的 Erlang 版本
最新版本可以从多个来源获得
来自 Team RabbitMQ 在 Cloudsmith 及其镜像或 Launchpad 上的 Debian Erlang 软件包
来自 Team RabbitMQ 的零依赖 Erlang RPM,也可从 Cloudsmith 镜像获得
作为 RabbitMQ Docker 镜像的一部分
Erlang/OTP 版本树为 Windows 提供补丁版本的二进制构建
Erlang Solutions 软件包仓库
使用 kerl 从源代码构建
在 Debian 或 Ubuntu 上安装 Erlang/OTP
标准的 Debian 和 Ubuntu 仓库提供 Erlang/OTP,但它被大量切分并分成数十个软件包。此外,除非系统启用了 backport 仓库,否则版本往往非常旧。有关基本软件包、依赖项和替代 apt 仓库的更多信息,请参阅Debian 和 Ubuntu 安装指南。
在 RHEL、CentOS 和 Fedora 上安装 Erlang/OTP
有多个可用于 Erlang/OTP 的 RPM 软件包。推荐的选择是 RabbitMQ 团队提供的零依赖 Erlang RPM。它密切遵循最新的 Erlang/OTP 补丁发布计划。
有关可用选项的更多信息,请参阅CentOS、RHEL 和 Fedora 安装指南。
集群中的 Erlang 版本
强烈建议在所有集群节点上使用相同的主要 Erlang 版本 (例如 25.x)。
当节点加入集群时,RabbitMQ 将检查 Erlang 及其分布式库的内部协议版本,如果检测到潜在的不兼容组合,则拒绝集群。
在合理的长时间升级窗口之外,建议所有节点使用完全相同的 Erlang 版本。
从源代码构建 Erlang
如果给定操作系统没有足够新的 Erlang 软件包,则可以从源代码构建 Erlang/OTP。这需要满足 Erlang 构建依赖项的构建环境,例如现代 OpenSSL 版本。
kerl 使从源代码构建 Erlang/OTP 版本(包括来自 GitHub 的特定标签)变得更加愉快。
较旧的 RabbitMQ 和 Erlang 版本
不支持的 RabbitMQ 系列
不支持的 RabbitMQ 系列最低要求的 Erlang/OTP最大支持的 Erlang/OTP注释3.10.253.10.243.10.233.10.223.10.213.10.203.10.1924.3.4.825.3.x24.3 是 Erlang 24 唯一维护(更新)的系列。
从 Erlang 25.1 开始,Erlang 中的 OpenSSL 3.0 支持被认为足够成熟,可以考虑用于生产环境。
Erlang 25 在 25.0.2 之前和 24 在 24.3.4.2 之前的版本受到 CVE-2022-37026 的影响,这是一个严重程度为关键的 CVE (CVSS 3.x 基础评分:9.8)
3.10.183.10.173.10.163.10.1424.325.224.3 是 Erlang 24 唯一维护(更新)的系列。
从 Erlang 25.1 开始,Erlang 中的 OpenSSL 3.0 支持被认为足够成熟,可以考虑用于生产环境。
Erlang 25 在 25.0.2 之前和 24 在 24.3.4.2 之前的版本受到 CVE-2022-37026 的影响,这是一个严重程度为关键的 CVE (CVSS 3.x 基础评分:9.8)
3.10.133.10.123.10.113.10.103.10.93.10.824.225.2从 Erlang 25.1 开始,Erlang 中的 OpenSSL 3.0 支持被认为足够成熟,可以考虑用于生产环境。
Erlang 25 在 25.0.2 之前和 24 在 24.3.4.2 之前的版本受到 CVE-2022-37026 的影响,这是一个严重程度为关键的 CVE (CVSS 3.x 基础评分:9.8)
3.10.73.10.63.10.523.225.2Erlang 25 是推荐的系列。
Erlang 25 在 25.0.2 之前和 24 在 24.3.4.2 之前的版本受到 CVE-2022-37026 的影响,这是一个严重程度为关键的 CVE (CVSS 3.x 基础评分:9.8)
Erlang 23 支持已于 2022 年 7 月 31 日停止。
3.10.43.10.23.10.13.10.023.224.3Erlang 24.3 是推荐的系列。
Erlang 23 支持已于 2022 年 7 月 31 日停止。
3.9.293.9.2824.3.4.225.224.3 是 Erlang 24 唯一维护(更新)的系列。
从 Erlang 25.1 开始,Erlang 中的 OpenSSL 3.0 支持被认为足够成熟,可以考虑用于生产环境。
Erlang 25 在 25.0.2 之前和 24 在 24.3.4.2 之前的版本受到 CVE-2022-37026 的影响,这是一个严重程度为关键的 CVE (CVSS 3.x 基础评分:9.8)
3.9.273.9.263.9.253.9.243.9.233.9.2224.224.3Erlang 24 在 24.3.4.2 之前的版本受到 CVE-2022-37026 的影响,这是一个严重程度为关键的 CVE (CVSS 3.x 基础评分:9.8)
Erlang 23 支持已于 2022 年 7 月 31 日停止。
3.9.213.9.203.9.193.9.183.9.173.9.163.9.1523.324.3Erlang 24.3 引入了 LDAP 客户端更改,这些更改对于在早期版本(包括 RabbitMQ)上编译的项目来说是破坏性的。RabbitMQ 3.9.15 是第一个支持 Erlang 24.3 的版本。
Erlang 23 支持已于 2022 年 7 月 31 日停止。
3.9.143.9.133.9.123.9.113.9.103.9.93.9.83.9.73.9.63.9.53.9.43.9.33.9.23.9.13.9.023.224.2Erlang/OTP 24 支持公告Erlang 24 于 2021 年 5 月 12 日发布一些社区插件和工具可能与 Erlang 24 不兼容3.8.353.8.343.8.333.8.323.8.313.8.303.8.2923.224.3RabbitMQ 3.8 于 2019 年 10 月发布,并于 2022 年 7 月 31 日达到生命周期结束,我们强烈建议不要使用它Erlang 24.3 引入了 LDAP 客户端更改,这些更改对于在早期版本(包括 RabbitMQ)上编译的项目来说是破坏性的。RabbitMQ 3.8.29 是 3.8.x 系列中第一个支持 Erlang 24.3 的版本。
3.8.283.8.273.8.263.8.253.8.243.8.233.8.223.8.213.8.203.8.193.8.183.8.173.8.1623.224.2RabbitMQ 3.8 于 2019 年 10 月发布,并于 2022 年 7 月 31 日达到生命周期结束,我们强烈建议不要使用它3.8.153.8.143.8.133.8.123.8.113.8.103.8.922.323.xRabbitMQ 3.8 于 2019 年 10 月发布,并于 2022 年 7 月 31 日达到生命周期结束,我们强烈建议不要使用它3.8.83.8.73.8.63.8.53.8.421.323.xRabbitMQ 3.8 于 2019 年 10 月发布,并于 2022 年 7 月 31 日达到生命周期结束,我们强烈建议不要使用它3.8.33.8.23.8.13.8.021.322.xRabbitMQ 3.8 于 2019 年 10 月发布,并于 2022 年 7 月 31 日达到生命周期结束,我们强烈建议不要使用它3.7.273.7.263.7.253.7.243.7.233.7.223.7.213.7.203.7.1921.322.xRabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈建议不要使用它3.7.183.7.173.7.163.7.1520.322.xRabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈建议不要使用它3.7.143.7.133.7.123.7.1120.321.xRabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈建议不要使用它3.7.103.7.93.7.83.7.719.321.xRabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈建议不要使用它3.7.63.7.53.7.43.7.33.7.23.7.13.7.019.320.xRabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈建议不要使用它3.6.163.6.1519.320.3.xRabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-31 达到生命周期结束,我们强烈建议不要使用它3.6.143.6.133.6.123.6.11R16B0320.1.xRabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-31 达到生命周期结束,我们强烈建议不要使用它3.6.103.6.93.6.83.6.73.6.63.6.53.6.4R16B0319.3.xRabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-31 达到生命周期结束,我们强烈建议不要使用它3.6.33.6.23.6.13.6.0R16B0318.3.xRabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-31 达到生命周期结束,我们强烈建议不要使用它3.5.xR14B0417.5.xRabbitMQ 3.5 于 2015-03-11 发布,并于 2016-10-31 达到生命周期结束,我们强烈建议不要使用它3.4.xR13B0316B03RabbitMQ 3.4 于 2014-10-21 发布,并于 2015-10-31 达到生命周期结束,我们强烈建议不要使用它
支持 R16B03 的最后一个版本
如果您绝对必须使用旧版本的 Erlang,则 RabbitMQ 3.6.14 是与 R16B03 兼容的最新版本。
支持 R13B03 的最后一个版本
如果您绝对必须使用旧版本的 Erlang,RabbitMQ 3.5.8 是与 R13B03 兼容的最新版本。