Repolode
zeromq

zeromq/libzmq

Базовая C++-библиотека ZeroMQ, расширяющая стандартные сокеты асинхронными очередями сообщений, паттернами обмена и поддержкой разных транспортов.

Звёзды
11,030
Форки
2,494
Открытые issues
396
Последний коммит
7 дней назад

Что это?

libzmq — базовый движок ZeroMQ, лёгкой библиотеки для обмена сообщениями, которая расширяет стандартные интерфейсы сокетов функциями, обычно доступными в специализированном ПО для обмена сообщениями. Сокеты предоставляют асинхронные очереди сообщений, несколько паттернов обмена, фильтрацию сообщений по подпискам и доступ к разным транспортным протоколам. Библиотека реализует протокол передачи данных ZMTP 3.1.

Библиотека написана преимущественно на C++98 с некоторыми необязательными фрагментами кода на C++11; её можно собрать с помощью autotools или CMake. Готовые пакеты доступны для Linux и macOS, а для установки в других системах можно использовать vcpkg и Homebrew. В документации перечислены поддерживаемые платформы: Linux, Windows, macOS, Android, а также несколько вариантов BSD и Unix.

Разработчики используют libzmq, когда нужно связать распределённые процессы с помощью обмена сообщениями по моделям запрос-ответ, публикация-подписка или конвейер, не создавая собственную инфраструктуру очередей. Языковые привязки для других языков строятся поверх этой библиотеки.

Ключевые возможности

  • 01Асинхронные очереди сообщений, доступные через стандартные API сокетов
  • 02Несколько паттернов обмена сообщениями, например запрос-ответ, публикация-подписка и конвейер
  • 03Фильтрация сообщений по подпискам
  • 04Доступ к разным транспортным протоколам
  • 05Реализация протокола передачи данных ZMTP 3.1
  • 06Сборка с помощью autotools или CMake

Сценарии использования

  • Связывание распределённых сервисов с помощью асинхронного обмена сообщениями между процессами
  • Создание потоков данных по модели публикация-подписка между компонентами, подключёнными к сети
  • Использование в качестве нативной основы для языковых привязок, работающих с ZeroMQ

Быстрый старт

  1. 1

    Установить на macOS с помощью Homebrew

    brew install zeromq
  2. 2

    Клонировать репозиторий vcpkg

    git clone https://github.com/microsoft/vcpkg.git
  3. 3

    Подготовить vcpkg (bash)

    ./bootstrap-vcpkg.sh
  4. 4

    Установить zeromq с помощью vcpkg

    ./vcpkg install zeromq

Что важно знать

  • Готовые бинарные пакеты предоставляются только для Linux и macOS; для остальных платформ требуется сборка из исходного кода.
  • API DRAFT могут измениться в любой момент без предупреждения. Чтобы избежать этого, используйте сборку STABLE.

В подборках

Темы

Частые вопросы

Что такое libzmq?
Базовая C++-библиотека ZeroMQ, расширяющая стандартные сокеты асинхронными очередями сообщений, паттернами обмена и поддержкой разных транспортов. libzmq — базовый движок ZeroMQ, лёгкой библиотеки для обмена сообщениями, которая расширяет стандартные интерфейсы сокетов функциями, обычно доступными в специализированном ПО для обмена сообщениями. Сокеты предоставляют асинхронные очереди сообщений, несколько паттернов обмена, фильтрацию сообщений по подпискам и доступ к разным транспортным протоколам. Библиотека реализует протокол передачи данных ZMTP 3.1.
libzmq можно использовать бесплатно? Какая у него лицензия?
libzmq распространяется с открытым исходным кодом под лицензией MPL-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
libzmq всё ещё поддерживается?
Активно поддерживается. Последний коммит в libzmq — 18 окт. 2026 г..
Для чего можно использовать libzmq?
Связывание распределённых сервисов с помощью асинхронного обмена сообщениями между процессами Создание потоков данных по модели публикация-подписка между компонентами, подключёнными к сети Использование в качестве нативной основы для языковых привязок, работающих с ZeroMQ
Как установить libzmq?
Установить на macOS с помощью Homebrew: brew install zeromq Клонировать репозиторий vcpkg: git clone https://github.com/microsoft/vcpkg.git Подготовить vcpkg (bash): ./bootstrap-vcpkg.sh Установить zeromq с помощью vcpkg: ./vcpkg install zeromq
Где скачать libzmq?
Исходный код и инструкции по установке — на GitHub: https://github.com/zeromq/libzmq

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Асинхронная среда выполнения для Rust с планировщиком задач, неблокирующим вводом-выводом, сетевыми возможностями и таймерами для надёжных сетевых приложений.

33,5 тыс.+7 за неделю5,8 тыс.RustMITОбновлён 16 часов назад