跳到主要内容
版本:4.0

Erlang 版本要求

介绍

本指南涵盖 Erlang/OTP 版本要求、Erlang 版本支持策略、RabbitMQ/Erlang 兼容性矩阵、特定版本的说明以及 提供 最新 Erlang/OTP 发行的途径。

支持的 Erlang 版本策略

RabbitMQ 支持最多 两个最新的 Erlang 发布系列

目前它们是 Erlang 26.x25.x

Erlang 27 支持

警告

Erlang 27(于 2024 年 5 月发布)目前 不受任何可用的 RabbitMQ 版本支持。在 Erlang 27 上运行 RabbitMQ 时存在显著的性能下降。

Erlang 26 支持

从 RabbitMQ 3.12.0 开始支持 Erlang 26。

RabbitMQ 和 Erlang/OTP 兼容性矩阵

下表提供了当前支持的 RabbitMQ 发布系列的 Erlang 兼容性矩阵。对于已到期结束的 RabbitMQ 发布,请参见 不受支持的系列兼容性矩阵

RabbitMQ 版本最低所需的 Erlang/OTP最大支持的 Erlang/OTP说明
  • 4.0.2
  • 4.0.1
  • 26.2
  • 26.2.x
  • 4.0 发布系列与 Erlang 26.2 兼容。

  • 警告

    RabbitMQ 4.0 与 Erlang/OTP 27 协同工作。但是,存在已知的性能下降,这些问题将在补丁发布中解决。不建议在生产环境中将 RabbitMQ 4.0 运行在 Erlang 27 上,但可以在开发环境中使用。

  • 3.13.7
  • 3.13.6
  • 3.13.5
  • 3.13.4
  • 3.13.3
  • 3.13.2
  • 3.13.1
  • 3.13.0
  • 26.0
  • 26.2.x
  • 3.12.13
  • 3.12.12
  • 3.12.11
  • 3.12.10
  • 25.0
  • 26.2.x
  • 3.12.9
  • 3.12.8
  • 3.12.7
  • 3.12.6
  • 3.12.5
  • 25.0
  • 26.1.x
  • 3.12.4
  • 3.12.3
  • 3.12.2
  • 3.12.1
  • 3.12.0
  • 25.0
  • 26.0.x
  • 3.12 发布系列与 Erlang 26 兼容。

  • Erlang 中的 OpenSSL 3 支持被认为已足够成熟,可以用于生产环境。

  • 3.11.28
  • 3.11.27
  • 3.11.26
  • 3.11.25
  • 3.11.24
  • 3.11.23
  • 3.11.22
  • 3.11.21
  • 3.11.20
  • 3.11.19
  • 3.11.18
  • 3.11.17
  • 3.11.16
  • 3.11.15
  • 3.11.14
  • 3.11.13
  • 3.11.12
  • 3.11.11
  • 3.11.10
  • 3.11.9
  • 3.11.8
  • 3.11.7
  • 3.11.6
  • 3.11.5
  • 3.11.4
  • 3.11.3
  • 3.11.2
  • 3.11.1
  • 3.11.0
  • 25.0
  • 25.3.x
  • 从 RabbitMQ 3.12.0 开始支持 Erlang 26。

  • 从 Erlang 25.1 开始,Erlang 中的 OpenSSL 3.0 支持被认为已足够成熟,可以用于生产环境。

  • Erlang 25 在 25.0.2 之前受 CVE-2022-37026 的影响,这是一个具有严重漏洞的 CVE(CVSS 3.x 基本评分:9.8)

作为指南,建议使用每个受支持的 Erlang/OTP 系列的最新次要版本和补丁版本。

提供最新的 Erlang 发布版

可以从多个来源获取最新版本

在 Debian 或 Ubuntu 上安装 Erlang/OTP

标准 Debian 和 Ubuntu 存储库提供 Erlang/OTP,但它被大量分割成数十个软件包。此外,除非系统启用了回溯存储库,否则版本往往非常旧。有关基本软件包、依赖项和备用 apt 存储库的更多信息,请参见 Debian 和 Ubuntu 安装指南

在 RHEL、CentOS 和 Fedora 上安装 Erlang/OTP

有多个 RPM 软件包可用于 Erlang/OTP。推荐使用 来自 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.25
  • 3.10.24
  • 3.10.23
  • 3.10.22
  • 3.10.21
  • 3.10.20
  • 3.10.19
  • 24.3.4.8
  • 25.3.x
  • 24.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.18
  • 3.10.17
  • 3.10.16
  • 3.10.14
  • 24.3
  • 25.2
  • 24.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.13
  • 3.10.12
  • 3.10.11
  • 3.10.10
  • 3.10.9
  • 3.10.8
  • 24.2
  • 25.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.7
  • 3.10.6
  • 3.10.5
  • 23.2
  • 25.2
  • Erlang 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.4
  • 3.10.2
  • 3.10.1
  • 3.10.0
  • 23.2
  • 24.3
  • Erlang 24.3 是推荐的系列。

  • Erlang 23 支持于 2022 年 7 月 31 日终止。

  • 3.9.29
  • 3.9.28
  • 24.3.4.2
  • 25.2
  • 24.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.27
  • 3.9.26
  • 3.9.25
  • 3.9.24
  • 3.9.23
  • 3.9.22
  • 24.2
  • 24.3
  • Erlang 24 在 24.3.4.2 之前受 CVE-2022-37026 的影响,这是一个具有严重漏洞的 CVE(CVSS 3.x 基本评分:9.8)

  • Erlang 23 支持于 2022 年 7 月 31 日终止。

  • 3.9.21
  • 3.9.20
  • 3.9.19
  • 3.9.18
  • 3.9.17
  • 3.9.16
  • 3.9.15
  • 23.3
  • 24.3
  • Erlang 24.3 引入了 LDAP 客户端更改,这些更改对于在早期版本(包括 RabbitMQ)上编译的项目来说是破坏性的。RabbitMQ 3.9.15 是第一个支持 Erlang 24.3 的版本。

  • Erlang 23 支持于 2022 年 7 月 31 日终止。

  • 3.9.14
  • 3.9.13
  • 3.9.12
  • 3.9.11
  • 3.9.10
  • 3.9.9
  • 3.9.8
  • 3.9.7
  • 3.9.6
  • 3.9.5
  • 3.9.4
  • 3.9.3
  • 3.9.2
  • 3.9.1
  • 3.9.0
  • 23.2
  • 24.2
  • 3.8.35
  • 3.8.34
  • 3.8.33
  • 3.8.32
  • 3.8.31
  • 3.8.30
  • 3.8.29
  • 23.2
  • 24.3
  • RabbitMQ 3.8 于 2019 年 10 月发布,并在 2022 年 7 月 31 日结束生命周期,我们强烈建议不要使用它
  • Erlang 24.3 引入了 LDAP 客户端更改,这些更改对于在早期版本(包括 RabbitMQ)上编译的项目来说是破坏性的。RabbitMQ 3.8.29 是 3.8.x 系列中第一个支持 Erlang 24.3 的版本。

  • 3.8.28
  • 3.8.27
  • 3.8.26
  • 3.8.25
  • 3.8.24
  • 3.8.23
  • 3.8.22
  • 3.8.21
  • 3.8.20
  • 3.8.19
  • 3.8.18
  • 3.8.17
  • 3.8.16
  • 23.2
  • 24.2
  • RabbitMQ 3.8 于 2019 年 10 月发布,并在 2022 年 7 月 31 日结束生命周期,我们强烈建议不要使用它
  • 3.8.15
  • 3.8.14
  • 3.8.13
  • 3.8.12
  • 3.8.11
  • 3.8.10
  • 3.8.9
  • 22.3
  • 23.x
  • RabbitMQ 3.8 于 2019 年 10 月发布,并在 2022 年 7 月 31 日结束生命周期,我们强烈建议不要使用它
  • 3.8.8
  • 3.8.7
  • 3.8.6
  • 3.8.5
  • 3.8.4
  • 21.3
  • 23.x
  • RabbitMQ 3.8 于 2019 年 10 月发布,并在 2022 年 7 月 31 日结束生命周期,我们强烈建议不要使用它
  • 3.8.3
  • 3.8.2
  • 3.8.1
  • 3.8.0
  • 21.3
  • 22.x
  • RabbitMQ 3.8 于 2019 年 10 月发布,并在 2022 年 7 月 31 日结束生命周期,我们强烈建议不要使用它
  • 3.7.27
  • 3.7.26
  • 3.7.25
  • 3.7.24
  • 3.7.23
  • 3.7.22
  • 3.7.21
  • 3.7.20
  • 3.7.19
  • 21.3
  • 22.x
  • RabbitMQ 3.7 于 2017 年 11 月 28 日发布,并在 2020 年 9 月 30 日结束生命周期,我们强烈建议不要使用它
  • 3.7.18
  • 3.7.17
  • 3.7.16
  • 3.7.15
  • 20.3
  • 22.x
  • RabbitMQ 3.7 于 2017 年 11 月 28 日发布,并在 2020 年 9 月 30 日结束生命周期,我们强烈建议不要使用它
  • 3.7.14
  • 3.7.13
  • 3.7.12
  • 3.7.11
  • 20.3
  • 21.x
  • RabbitMQ 3.7 于 2017 年 11 月 28 日发布,并在 2020 年 9 月 30 日结束生命周期,我们强烈建议不要使用它
  • 3.7.10
  • 3.7.9
  • 3.7.8
  • 3.7.7
  • 19.3
  • 21.x
  • RabbitMQ 3.7 于 2017 年 11 月 28 日发布,并在 2020 年 9 月 30 日结束生命周期,我们强烈建议不要使用它
  • 3.7.6
  • 3.7.5
  • 3.7.4
  • 3.7.3
  • 3.7.2
  • 3.7.1
  • 3.7.0
  • 19.3
  • 20.x
  • RabbitMQ 3.7 于 2017 年 11 月 28 日发布,并在 2020 年 9 月 30 日结束生命周期,我们强烈建议不要使用它
  • 3.6.16
  • 3.6.15
  • 19.3
  • 20.3.x
  • RabbitMQ 3.6 于 2015 年 12 月 22 日发布,并在 2018 年 5 月 31 日结束生命周期,我们强烈建议不要使用它
  • 3.6.14
  • 3.6.13
  • 3.6.12
  • 3.6.11
  • R16B03
  • 20.1.x
  • RabbitMQ 3.6 于 2015 年 12 月 22 日发布,并在 2018 年 5 月 31 日结束生命周期,我们强烈建议不要使用它
  • 3.6.10
  • 3.6.9
  • 3.6.8
  • 3.6.7
  • 3.6.6
  • 3.6.5
  • 3.6.4
  • R16B03
  • 19.3.x
  • RabbitMQ 3.6 于 2015 年 12 月 22 日发布,并在 2018 年 5 月 31 日结束生命周期,我们强烈建议不要使用它
  • 3.6.3
  • 3.6.2
  • 3.6.1
  • 3.6.0
  • R16B03
  • 18.3.x
  • RabbitMQ 3.6 于 2015 年 12 月 22 日发布,并在 2018 年 5 月 31 日结束生命周期,我们强烈建议不要使用它
  • 3.5.x
  • R14B04
  • 17.5.x
  • RabbitMQ 3.5 于 2015 年 3 月 11 日发布,并在 2016 年 10 月 31 日结束生命周期,我们强烈建议不要使用它
  • 3.4.x
  • R13B03
  • 16B03
  • RabbitMQ 3.4 于 2014 年 10 月 21 日发布,并在 2015 年 10 月 31 日结束生命周期,我们强烈建议不要使用它

支持 R16B03 的最后一个版本

如果您绝对必须使用旧版本的 Erlang,RabbitMQ 3.6.14 是与 R16B03 兼容的最新版本。

支持 R13B03 的最后一个版本

如果您绝对必须使用旧版本的 Erlang,RabbitMQ 3.5.8 是与 R13B03 兼容的最新版本。

© 2024 RabbitMQ. All rights reserved.