ZeroMQ — Википедия

ZeroMQ
Тип библиотека функций
Разработчик iMatix
Написана на C++[2]
Аппаратная платформа Кросcплатформенная
Последняя версия
Репозиторий github.com/zeromq/libzmq
Лицензия MPLv2.0[вд]
Сайт zeromq.org (англ.)

ZeroMQ (также ØMQ, ZMQ, 0MQ) — высокопроизводительная асинхронная библиотека обмена сообщениями для создания распределённых сетей обмена сообщениями. Библиотека реализует очередь сообщений, которая функционирует без выделенного брокера сообщений[3]. Создатель библиотеки — бельгийский программист Питер Хинченс[англ.] (англ. Pieter Hintjens)[4].

ØMQ относится к cвязующему программному обеспечению (англ. middleware), занимающему промежуточное положение между ПО низкого и высокого уровня[3].

Технология

[править | править код]

ZeroMQ не является полной системой передачи сообщений, которыми являются, например, RabbitMQ и ActiveMQ. Это программная бибилиотека, которая позволяет сравнительно легко создать свою одноуровневую систему обмена сообщениями без участия брокера сообщений[3].

В ZeroMQ реализована трёхстадийная технология обмена сообщениями[3].

  1. Выбор транспорта.
  2. Настройка инфраструктуры.
  3. Выбор шаблона обмена сообщениями.

ZeroMQ API предоставляет сокеты (своего рода обобщение традиционных IP и сокетов домена Unix), каждый из которых может представлять соединение между конечными точками. Работая с детализацией по сообщениям, они требуют использования шаблона обмена сообщениями и оптимизированы для этого типа шаблона.[источник не указан 49 дней]

Основные образцы паттернов ZeroMQ:[источник не указан 49 дней]

  • Запрос-ответ
  • Опубликовать-подписаться
  • Push-Thing
  • Эксклюзивная пара

Примеры использования

[править | править код]

Интерфейс и сокеты ZeroMQ получили распространение в биткоин-транзакциях для реализации технологии блокчейна с помощью NodeJS.[источник не указан 49 дней]

Примечания

[править | править код]
  1. Release 4.3.5 — 2023.
  2. https://www.openhub.net/p/zeromq/analyses/latest/languages_summary
  3. 1 2 3 4 Piël, 2010.
  4. Gimenes, N. Ode to Pieter Hintjens : [англ.] : [арх. 6 августа 2020] // Baozi Technology.

Литература

[править | править код]