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