Установка ZeroMQ из исходного кода на сервер CentOS 6 x64

Существует множество доступных вариантов для реализации обмена сообщениями на уровне приложений, и каждый из них имеет свои преимущества. Но во многих ситуациях полноценное решение или реализация протокола (например, Advanced Message Queuing) определенно излишни.

Легкая библиотека обмена сообщениями с высокой производительностью – то, что надо в такой ситуации. Одной из таких библиотек (и, пожалуй, наилучшим решением) является ZeroMQ.

ZeroMQ  является инструментарием (т.е. библиотекой) асинхронного обмена сообщениями. Данная библиотека не имеет никаких соглашений, а также требует нового протокола. ZeroMQ – чрезвычайно эффективный инструмент обмена сообщениями.

В данной статье речь пойдет об установке последней версии ZeroMQ из исходного кода, что позволит начать внедрение обмена сообщениями в стек приложения.

Краткий обзор ZeroMQ

Если у вас есть опыт работы с другими системами обмена сообщениями (такими как RabbitMQ), понять принципы работы ZeroMQ, вероятно, будет немного сложнее. В сети Интернет существует немало статей, посвященных сравнению RabbitMQ и ZeroMQ, однако нужно понимать: эти два инструмента совершенно разные, поскольку направлены на решение разных задач.

ZeroMQ, как уже говорилось, является библиотекой (или инструментарием). Сначала ZeroMQ может показаться более примитивным решением по сравнению с другими, тем не менее, эта библиотека имеет все необходимое для быстрого внедрения простого пользовательского обмена сообщениями с большим диапазоном привязок для различных языков программирования.

Это означает, что для того, чтобы начать сборку приложения ZeroMQ, необходимо скачать и установить библиотеку, а затем загрузить дополнительные файлы в соответствии с языком программирования. В данном руководстве библиотека ZeroMQ будет установлена из исходного кода, поскольку это позволяет получить последнюю стабильную версию программы.

Компилирование исходного кода

Сначала процесс компиляции приложений из исходного кода в системах Unix может показаться очень сложным; на самом же деле, все гораздо проще. Существует немалое количество инструментов, позволяющих скомпилировать код, но в данном руководстве будет использоваться утилита GNU make – одна из самых распространенных утилит, встроенная в системы Unix почти сразу после своего появления в конце 70х.

Зачем компилировать программы из исходного кода?

Многие системные администраторы предпочитают компилировать программы из исходного кода, потому что таким образом можно устранить некоторые проблемы предварительно собранного ПО. Кроме того, такой подход позволяет настроить процесс установки, выбрав несколько версий одного приложения.

Подготовка системы и установка зависимостей ZeroMQ

Прежде чем приступить к установке библиотеки ZeroMQ, нужно подготовить систему.

Обновление списка пакетов ОС

Чтобы получить последние доступные версии стандартных пакетов системы, запустите команду:

yum -y update

Добавление репозитория EPEL

Чтобы иметь возможность загружать отдельные инструменты для сборки и использования ZeroMQ и многих других программ, нужно подключить репозиторий EPEL (Extra Packages for Enterprise Linux). В нем можно найти некоторые важные инструменты, которых нет в других репозиториях.

Чтобы добавить EPEL, используйте команды:

# 64-bit CentOS / RHEL:
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
# 32-bit CentOS / RHEL:
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.

Для начала нужно загрузить исходный код приложения:

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

Загрузить и установить привязки ZeroMQ для Python (под названием PyZMQ) можно при помощи менеджера пакетов pip.

Для этого запустите:

pip install pyzmq

Чтобы подробнее ознакомиться с установкой и настройкой Python 2.7.x и 3.x (а также с основными инструментами и привязками Python) в системе CentOS, читайте данное руководство.

Привязки для Ruby: zmq Gem

Языковые привязки ZeroMQ для Ruby называются отдельным Gem-ом под названием zmq.

Чтобы установить эту привязку на стандартную установку ZeroMQ, используйте:

gem install zmq

Чтобы установить zmq на нестандартную установку ZeroMQ, запустите:

gem install zmq -- --with-zmq-dir=/path/to/zeromq

Другие языковые привязки ZeroMQ

Чтобы получить информацию о других привязках ZeroMQ (включая, но не ограничиваясь PHP, C #, Erlang, Haskell, Java, Lua и т.д.), посетите сайт сообщества ZeroMQ.

Tags: , , , , , , , , ,

Добавить комментарий