ØMQ

ØMQ (також ZeroMQ, ZMQ, 0MQ) — високопродуктивна асинхронна бібліотека обміну повідомленнями, спрямована на використання у розподілених та паралельних застосунках. Бібліотека реалізує чергу повідомлень, яка, на відміну від MOM, може функціонувати без виокремленого брокера повідомлень. Програмний інтерфейс бібліотеки подібний до сокетів Берклі.

ØMQ
Тип Черга повідомлень, фреймворк багатопоточності
Розробник iMatix
Стабільний випуск 4.1.3 (17 серпня, 2015 (2015-08-17))
Версії 4.3.4 (17 січня 2021)[1]
Репозиторій github.com/zeromq/libzmq
Платформа Кросплатформна
Мова програмування C++
Ліцензія LGPL із винятком[2]
Вебсайт www.zeromq.org

ØMQ створений великою спільнотою розробників, заснованої iMatix, якій належить доменне ім'я та торгові марки. ØMQ написаний на мові програмування C++ та може використовуватися із багатьох інших мов програмування через сторонні прив'язки.

Історія

Виконавчий директор iMatix Пітер Хінт'єнс (Pieter Hintjens) зареєстрував домен zeromq.org у травні 2007 року та розпочав проект ØMQ разом із Мартіном Сустріком (Martin Sustrik), який був архітектором та головним розробником проекту до грудня 2011 року.

У березні 2010 року Хінт'єнс оголосив, що iMatix (початковий розробник протоколу AMQP) полишить робочу групу AMQP і не підтримуватиме AMQP/1.0, а сконцентрується натомість на значно простішій та швидшій технології ØMQ.[3][4]

У 2011 році CERN розглядав шляхи стандартизації підпрограмного забезпечення, яке використовувалося для управління прискорювачами частинок. Дослідження CERN порівняло дві відкриті реалізації стандарту CORBA, Ice, Apache Thrift, ØMQ, YAMI4,[5] RTI та Apache Qpid, і дало найвищу оцінку ØMQ, зокрема через її гнучкість та легку адаптованість для LynxOS.[6]

На початку 2012 року два з початкових розробників ØMQ — Мартін Сустрік та Мартін Люціна (Martin Lucina) — створили власний форк проекту під назвою Crossroads I/O.[7][8] Того ж року Мартін Сустрік розпочав роботу над власною бібліотекою nanomsg,[9] що являє собою повністю переписаний код ядра ØMQ на мові програмування C.[10]

У серпні 2012 року Донмін Ю (Dongmin Yu) оголосив про створення ним JeroMQ — перекладу коду ØMQ на мову програмування Java.[11] Продуктивність JeroMQ, станом на 2016 рік, тримається на рівні з ØMQ (в межах ±20%).[12]

Згодом були створені інші переклади оригінального коду на інші мови програмування, зокрема NetMQ для C#.[13]

У березні 2013 року Пітер Хінт'єнс оголосив новий проект протоколу «дротового рівня» ZMTP, що додав розширювані механізми безпеки до ØMQ.[14] Незабаром по тому Мартін Гуртон реалізував механізм аутентифікації та шифрування CurveZMQ[15] у ядрі ØMQ.

Процес розробки

Спільнота розробників ØMQ переважно використовує так званий «Контракт конструювання колективного коду» (К4; англ. Collective Code Construction Contract, C4)[16] як відкритий контракт розробки. «К4» натхнений процесами Вікіпедії та моделлю розробки GitHub (fork + pull). Ця схема спрямована на спрощення долучення нових дописувачів коду та зменшення залежності від старіших розробників.

Приклади застосування

Інтерфейс та сокети ZeroMQ отримали поширення в біткоїн-транзакціях для реалізації технології блокчейну[17].

Див. також

Примітки

  1. Release 4.3.4 — 2021.
  2. ØMQ Licensing
  3. iMatix will end OpenAMQ support by 2011. openamq-dev maillist. Архів оригіналу за 10.10.2012. Процитовано 14.07.2012.
  4. What is wrong with AMQP (and how to fix it). iMatix Corporation. Архів оригіналу за 17.07.2012. Процитовано 14.07.2012.
  5. Inspirel YAMI4. Процитовано 14.07.2012.
  6. Middleware Trends And Market Leaders 2011. Процитовано 8.06.2013.
  7. ZeroMQ and Crossroads I/O: Forking over trademarks. LWN.net. Процитовано 14.07.2012.
  8. Crossroads I/O. Архів оригіналу за 13.07.2012. Процитовано 14.07.2012.
  9. nanomsg. Процитовано 8.06.2013.
  10. Why should I [sic] have written ZeroMQ in C, not C++.
  11. jeromq - java pojo zeromq. zeromq-dev mailing list. Архів оригіналу за 31.07.2013. Процитовано 23.05.2013.
  12. Performance – zeromq/jeromq – GitHub (англ.)
  13. NetMQ. GitHub. Процитовано 28 січня 2016.
  14. Securing ZeroMQ: draft ZMTP v3.0 Protocol. Hintjens.com. Процитовано 23.05.2013.
  15. curvezmq.org
  16. Collective Code Construction Contract (C4.1). ZeroMQ RFCs. Процитовано 23.05.2013.
  17. Как следить за транзакциями биткойнов через блокчейн через nodejs?. https://answacode.com/ (рос.). Процитовано 24.09.2021.

[1]

Посилання

  • zeromq.org — офіційний сайт «ØMQ».
  • Martin Sustrik, Martin Lucina (January 20, 2010). 0MQ: A new approach to messaging — LWN.net. (англ.)
  • Как следить за транзакциями биткоинов через блокчейн с помощью nodejs? — Answacode[1]
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.