Тип | Черга повідомлень, фреймворк багатопоточності |
---|---|
Розробники | iMatix |
Стабільний випуск | 4.1.3 (17 серпня, 2015 ) |
Платформа | Кросплатформна |
Мова програмування | C++ |
Ліцензія | LGPL із винятком[1] |
Репозиторій | github.com/zeromq/libzmq |
Вебсайт | www.zeromq.org |
ØMQ (також ZeroMQ, ZMQ, 0MQ) — високопродуктивна асинхронна бібліотека обміну повідомленнями, спрямована на використання у розподілених та паралельних застосунках. Бібліотека реалізує чергу повідомлень, яка, на відміну від MOM, може функціонувати без виокремленого брокера повідомлень. Програмний інтерфейс бібліотеки подібний до сокетів Берклі.
ØMQ створений великою спільнотою розробників, заснованої iMatix, якій належить доменне ім'я та торгові марки. ØMQ написаний на мові програмування C++ та може використовуватися із багатьох інших мов програмування через сторонні прив'язки.
Виконавчий директор iMatix Пітер Хінт'єнс (Pieter Hintjens) зареєстрував домен zeromq.org у травні 2007 року та розпочав проект ØMQ разом із Мартіном Сустріком (Martin Sustrik), який був архітектором та головним розробником проекту до грудня 2011 року.
У березні 2010 року Хінт'єнс оголосив, що iMatix (початковий розробник протоколу AMQP) полишить робочу групу AMQP і не підтримуватиме AMQP/1.0, а сконцентрується натомість на значно простішій та швидшій технології ØMQ.[2][3]
У 2011 році CERN розглядав шляхи стандартизації підпрограмного забезпечення, яке використовувалося для управління прискорювачами частинок. Дослідження CERN порівняло дві відкриті реалізації стандарту CORBA, Ice, Apache Thrift, ØMQ, YAMI4,[4] RTI та Apache Qpid, і дало найвищу оцінку ØMQ, зокрема через її гнучкість та легку адаптованість для LynxOS.[5]
На початку 2012 року два з початкових розробників ØMQ — Мартін Сустрік та Мартін Люціна (Martin Lucina) — створили власний форк проекту під назвою Crossroads I/O.[6][7] Того ж року Мартін Сустрік розпочав роботу над власною бібліотекою nanomsg,[8] що являє собою повністю переписаний код ядра ØMQ на мові програмування C.[9]
У серпні 2012 року Донмін Ю (Dongmin Yu) оголосив про створення ним JeroMQ — перекладу коду ØMQ на мову програмування Java.[10] Продуктивність JeroMQ, станом на 2016 рік, тримається на рівні з ØMQ (в межах ±20%).[11]
Згодом були створені інші переклади оригінального коду на інші мови програмування, зокрема NetMQ для C#.[12]
У березні 2013 року Пітер Хінт'єнс оголосив новий проект протоколу «дротового рівня» ZMTP, що додав розширювані механізми безпеки до ØMQ.[13] Незабаром по тому Мартін Гуртон реалізував механізм аутентифікації та шифрування CurveZMQ[14] у ядрі ØMQ.
Спільнота розробників ØMQ переважно використовує так званий «Контракт конструювання колективного коду» (К4; англ. Collective Code Construction Contract, C4)[15] як відкритий контракт розробки. «К4» натхнений процесами Вікіпедії та моделлю розробки GitHub (fork + pull). Ця схема спрямована на спрощення долучення нових дописувачів коду та зменшення залежності від старіших розробників.
Інтерфейс та сокети ZeroMQ отримали поширення в біткойн-транзакціях для реалізації технології блокчейну[16].
{{cite web}}
: Зовнішнє посилання в |website=
(довідка)