跳到主要内容
版本: 4.1

Erlang 版本要求

简介

本指南涵盖 Erlang/OTP 版本要求、Erlang 版本支持策略、RabbitMQ/Erlang 兼容性矩阵、版本特定说明以及配置最新 Erlang/OTP 版本的方法。

支持的 Erlang 版本策略

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

目前它们是 Erlang 27.x26.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.0
  • 4.0.9
  • 4.0.8
  • 4.0.7
  • 4.0.6
  • 4.0.5
  • 4.0.4
  • 26.2
  • 27.x
  • 从 4.0.4 版本开始,4.0.x 发行系列与 Erlang 27 兼容。

  • 4.0.3
  • 4.0.2
  • 4.0.1
  • 26.2
  • 26.2.x
  • 4.0 发行系列与 Erlang 26.2 兼容。

  • 重要提示

    早于 4.0.4 的 RabbitMQ 版本与 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
  • Erlang 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 版本

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

在 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.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-09-30 达到生命周期结束,我们强烈建议不要使用它
  • 3.7.18
  • 3.7.17
  • 3.7.16
  • 3.7.15
  • 20.3
  • 22.x
  • RabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈建议不要使用它
  • 3.7.14
  • 3.7.13
  • 3.7.12
  • 3.7.11
  • 20.3
  • 21.x
  • RabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-30 达到生命周期结束,我们强烈建议不要使用它
  • 3.7.10
  • 3.7.9
  • 3.7.8
  • 3.7.7
  • 19.3
  • 21.x
  • RabbitMQ 3.7 于 2017-11-28 发布,并于 2020-09-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-09-30 达到生命周期结束,我们强烈建议不要使用它
  • 3.6.16
  • 3.6.15
  • 19.3
  • 20.3.x
  • RabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-31 达到生命周期结束,我们强烈建议不要使用它
  • 3.6.14
  • 3.6.13
  • 3.6.12
  • 3.6.11
  • R16B03
  • 20.1.x
  • RabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-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-05-31 达到生命周期结束,我们强烈建议不要使用它
  • 3.6.3
  • 3.6.2
  • 3.6.1
  • 3.6.0
  • R16B03
  • 18.3.x
  • RabbitMQ 3.6 于 2015-12-22 发布,并于 2018-05-31 达到生命周期结束,我们强烈建议不要使用它
  • 3.5.x
  • R14B04
  • 17.5.x
  • RabbitMQ 3.5 于 2015-03-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 兼容的最新版本。

© . All rights reserved.