状态:已弃用
本文介绍了不再受支持的 CentOS 版本。 如果您目前正在运行运行 CentOS 6 的服务器,我们强烈建议您升级或迁移到受支持的 CentOS 版本。
原因:CentOS 6 已于 2020 年 11 月 30 日结束生命周期 (EOL) ,不再接收安全补丁或更新。 因此,不再维护本指南。
请参阅:本指南可能仍可用作参考,但可能不适用于其他 CentOS 版本。 如果可用,我们强烈建议使用为您正在使用的 CentOS 版本编写的指南。
介绍
应用程序级别的消息传递实现有多种选择,每一种都比其他的有自己的特殊优势。 然而,有一件事是肯定的,那就是在许多情况下,一个功能齐全的解决方案和协议实现(例如高级消息队列协议)可能是一种过度杀伤力。
对于这些情况,一个精益且真正高性能的消息传递库允许您制作您需要的确切系统,这有很多好处。 这些库之一——也许 是同类中的首选解决方案 ——是 ZeroMQ。
ZeroMQ 是一个异步消息系统工具包(即 图书馆)。 它不遵循约定,也不设置自己定义新协议。 尽管拥有世界重量级冠军,但这个极其高效的消息传递组件专注于尽可能高效和强大地处理任务,而无需在不需要时成为额外丰富的层。
在这篇 DigitalOcean 文章中,我们将学习如何从源代码设置最新版本的 ZeroMQ,这应该允许您开始在应用程序堆栈中实现高效的轻量级消息传递。
零MQ
如果您有使用过其他消息传递系统(例如 RabbitMQ)的经验,那么由于互联网上的一些广泛的不相关比较,理解 ZeroMQ 的位置可能会有点挑战。 这两个是完全不同的工具,旨在解决不同类型的问题。
ZeroMQ,正如我们一开始提到的,是一个库(即 工具包)。 尽管与其他解决方案相比,它可能看起来是一个较低级别的解决方案,但它提供了快速实施自定义消息传递解决方案所需的一切,因为它易于使用和大量不同的编程语言绑定。
这意味着需要下载和设置 ZeroMQ 库,然后是您选择的编程语言的附加文件,以开始构建 ZeroMQ 应用程序。 在我们的教程中,为了获得最新版本并稳定安装,我们将通过几个简单的步骤从源代码安装 ZeroMQ。
从源安装
在 Unix 系统上构建应用程序对某些人来说可能看起来很可怕,但通常比您想象的要容易。 尽管应该注意还有其他工具可以完成相同的任务,但我们将使用 GNU make 来构建 ZeroMQ。 GNU make 是最广泛使用的实用程序之一,因为它自 70 年代后期推出以来就内置于 Unix 系统中。
为什么从源代码构建?
许多系统管理员选择从源代码构建软件,因为它可以帮助解决由 deb/rpm(预制)包引起的问题。 它还允许您自定义安装过程,在单个系统上拥有同一应用程序的多个版本,并使用所需的版本而无需担心预构建的二进制文件(编译文件)。
处理 ZeroMQ 依赖关系并准备系统
随着操作系统和 ZeroMQ 应用程序本身的更新,安装过程变得越来越简单。 尽管如此,在开始构建过程之前,我们需要做一些准备工作。
更新默认操作系统工具
为确保我们拥有最新版本的默认系统工具,让我们从在我们的系统上运行基本更新开始:
yum -y update
启用附加应用程序存储库 (EPEL)
为了能够下载构建和使用 ZeroMQ 和许多其他工具所必需的某些工具,我们需要启用 EPEL: Extra Packages for Enterprise Linux。 这将使我们能够轻松下载和安装许多默认情况下不可用的软件包。
运行以下命令以启用 EPEL:
# If you are on a 64-bit CentOS / RHEL based system: wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm # If you are on a 32-bit CentOS / RHEL based system: wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -ivh epel-release-6-8.noarch.rpm
下载用于从源代码构建的其他工具
ZeroMQ 的构建过程——如前所述——需要一些额外的工具。 启用 EPEL 后,我们可以使用默认的包管理器 YUM 轻松下载它们。
运行以下命令以获取工具:
yum install -y uuid-devel yum install -y pkgconfig yum install -y libtool yum install -y gcc-c++
从源代码下载和安装 ZeroMQ
在涵盖所有必要的应用程序之后,我们可以开始 ZeroMQ 的安装过程。
ZeroMQ 的最新可用版本是 4.0.3 发布于 2013-11-24。
让我们从下载应用程序源开始:
wget http://download.zeromq.org/zeromq-4.0.3.tar.gz
解压tar存档的内容,进入目录:
tar xzvf zeromq-4.0.3.tar.gz cd zeromq-4.0.3
配置应用程序构建过程:
./configure
使用 Makefile 构建程序:
make
安装应用程序:
make install
更新系统库缓存:
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf ldconfig
就是这样! 您现在在系统上设置了 ZeroMQ 消息传递库,可用于创建消息传递应用程序。
获取 ZeroMQ 语言绑定
Python 绑定:PyZMQ
可以使用 Python 包管理器 pip 为 ZeroMQ (PyZMQ) 下载和构建 Python 绑定。
使用 pip 下载并安装 PyZQM:
pip install pyzmq
如果您想了解如何在 CentOS 上设置 Python 2.7.x 和 3.x 以及包括 pip 在内的常用 Python 工具,请查看我们的文章 如何在 CentOS 上设置 Python。
Ruby 绑定:zmq Gem
ZeroMQ Ruby 绑定可作为称为 zmq 的 Ruby Gem 使用。
对于默认的 ZeroMQ 安装,运行以下命令来获取 zmq:
gem install zmq
对于非默认 ZeroMQ 安装,请使用以下命令:
gem install zmq -- --with-zmq-dir=/path/to/zeromq
ZeroMQ 的其他编程语言绑定
对于所有其他 ZeroMQ 绑定——包括但不限于 PHP、C#、Erlang、Haskell、Java、Lua 等——请访问 ZeroMQ 社区 Wiki。