ZeroMQ

Developer(s)iMatix
Stable release
4.3.5[1] / 9 October 2023; 11 months ago (9 October 2023)
Repository
Written inC++
PlatformCross-platform
TypeMessage queue, concurrency framework
LicenseMPL-2.0[2]
Websitezeromq.org

ZeroMQ (also spelled ØMQ, 0MQ or ZMQ) is an asynchronous messaging library, aimed at use in distributed or concurrent applications. It provides a message queue, but unlike message-oriented middleware, a ZeroMQ system can run without a dedicated message broker; the zero in the name is for zero broker.[3] The library's API is designed to resemble Berkeley sockets.

ZeroMQ is developed by a large community of contributors, founded by iMatix, which holds the domain name and trademarks. There are third-party bindings for many popular programming languages.

Technology

The ZeroMQ API provides sockets (a kind of generalization over the traditional IP and Unix domain sockets), each of which can represent a many-to-many connection between endpoints. Operating with a message-wise granularity, they require that a messaging pattern be used, and are particularly optimized for that kind of pattern.

The basic ZeroMQ patterns are:

Request–reply
Connects a set of clients to a set of services. This is a remote procedure call and task distribution pattern.
Publish–subscribe
Connects a set of publishers to a set of subscribers. This is a data distribution pattern.
Push–pull (pipeline)
Connects nodes in a fan-out / fan-in pattern that can have multiple steps, and loops. This is a parallel task distribution and collection pattern.
Exclusive pair
Connects two sockets in an exclusive pair. (This is an advanced low-level pattern for specific use cases.)

Each pattern defines a particular network topology. Request-reply defines a so-called "service bus", publish-subscribe defines a "data distribution tree", and push-pull defines "parallelised pipeline". All the patterns are deliberately designed in such a way as to be infinitely scalable and thus usable on Internet scale.[4]

Any message through the socket is treated as an opaque blob of data. Delivery to a subscriber can be automatically filtered by the blob leading string. Available message transports include TCP, PGM (reliable multicast), inter-process communication (IPC) and inter-thread communication (ITC).

The ZeroMQ core library performs very well due to its internal threading model, and can outperform conventional TCP applications in terms of throughput by utilizing an automatic message batching technique.[5][6]

ZeroMQ implements ZMTP, the ZeroMQ Message Transfer Protocol.[7] ZMTP defines rules for backward interoperability, extensible security mechanisms, command and message framing, connection metadata, and other transport-level functionality. A growing number of projects implement ZMTP directly as an alternative to using the full ZeroMQ implementations.[8]

History

iMatix CEO Pieter Hintjens registered the zeromq.org domain in May 2007 and started the ZeroMQ project together with Martin Sustrik, who was its architect and lead developer until December 2011.

On March 30, 2010, Hintjens announced that iMatix (the original designer of Advanced Message Queuing Protocol) would leave the AMQP workgroup and did not plan to support AMQP/1.0 in favor of the significantly simpler and faster ZeroMQ.[9][10]

In 2011, CERN was investigating ways to unify middleware solutions used to operate CERN accelerators. The CERN study compared two open source implementations of CORBA, Ice, Thrift, ZeroMQ, YAMI4,[11] RTI, and Qpid (AMQP) and scored ZeroMQ highest, in part for its versatility, including its easy adaptability to the LynxOS.[6]

At the start of 2012, two of the original developers forked ZeroMQ as Crossroads I/O.[12][13] Martin Sustrik has started nanomsg,[14] a rewrite of the ZeroMQ core library.[15]

In August 2012, Dongmin Yu announced his pure Java conversion of ZeroMQ, JeroMQ.[16] This has inspired further full-native ports of ZeroMQ, such as NetMQ for C#[17] and zmq.rs for Rust.[18]

In March 2013, Pieter Hintjens announced a new draft of the ZMTP wire-level protocol bringing extensible security mechanisms to ZeroMQ.[19] Martin Hurton implemented the CurveZMQ authentication and encryption mechanism[20] in the core library shortly afterwards.

In 2016, long-time ZeroMQ developer Garrett D'Amore forked Nanomsg to create project NNG (Nanomsg Next Generation).[21]

Development process

The ZeroMQ community mostly uses the Collective Code Construction Contract (C4)[22] as a development contract. C4 is inspired by Wikipedia processes and GitHub's fork + pull request model. It focuses on making it simpler for new contributors to participate and reducing dependency on older contributors.

See also

References

  1. ^ "Release 4.3.5". 9 October 2023. Retrieved 20 October 2023.
  2. ^ "ØMQ Licensing". Retrieved 8 June 2023.
  3. ^ "Get started".
  4. ^ "Scalability Layer Hits the Internet Stack". Archived from the original on 2019-05-28. Retrieved 2013-09-04.
  5. ^ "How come ØMQ has higher throughput than TCP although it's built on top of TCP?". ZeroMQ FAQ. Retrieved 8 June 2013.
  6. ^ a b "Middleware Trends And Market Leaders 2011". Retrieved 8 June 2013.
  7. ^ "ZeroMQ Message Transfer Protocol". Retrieved 8 June 2013.
  8. ^ "GitHub Search: ZMTP". GitHub. Retrieved 8 June 2013.
  9. ^ "iMatix will end OpenAMQ support by 2011". openamq-dev maillist. Archived from the original on 2016-03-05. Retrieved 5 September 2018.
  10. ^ "What is wrong with AMQP (and how to fix it)". iMatix Corporation. Retrieved 14 July 2012.
  11. ^ "Inspirel YAMI4". Retrieved 14 July 2012.
  12. ^ "ZeroMQ and Crossroads I/O: Forking over trademarks". LWN.net. Retrieved 14 July 2012.
  13. ^ "Crossroads I/O". Retrieved 14 July 2012.
  14. ^ "nanomsg". Retrieved 8 June 2013.
  15. ^ "Why should I [sic] have written ZeroMQ in C, not C++".
  16. ^ "jeromq - java pojo zeromq". zeromq-dev mailing list. Archived from the original on 31 July 2013. Retrieved 23 May 2013.
  17. ^ "NetMQ". GitHub. Retrieved 23 May 2013.
  18. ^ "zmq.rs". GitHub. Retrieved 24 Oct 2020.
  19. ^ "Securing ZeroMQ: draft ZMTP v3.0 Protocol". Hintjens.com. Retrieved 23 May 2013.
  20. ^ curvezmq.org
  21. ^ "NNG: Nanomsg-NG". nanomsg.org. Retrieved 4 Aug 2023.
  22. ^ "Collective Code Construction Contract (C4.1)". ZeroMQ RFCs. Retrieved 23 May 2013.

Read other articles:

Glass GardenPoster internasionalNama lainHangul유리정원 Alih Aksara yang DisempurnakanYurijeongwon SutradaraShin Su-wonProduserLim Choong-keunDitulis olehShin Su-wonPemeranMoon Geun-youngKim Tae-hoonSeo Tae-hwaLim Jung-woonPark Ji-sooPenata musikRyu Jae-ahSinematograferYun Ji-woonPerusahaanproduksiJune FilmDistributorLittle Big PicturesTanggal rilis 12 Oktober 2017 (2017-10-12) (BIFF) 25 Oktober 2017 (2017-10-25) (South Korea) Durasi116 menitNegaraKorea SelatanB…

Timeline of Sacramento, California, United States The following is a timeline of the history of the city of Sacramento, California, United States. This is a dynamic list and may never be able to satisfy particular standards for completeness. You can help by adding missing items with reliable sources. 19th century Part of a series on the History of California Periods Before 1900 Province of Las Californias Alta California California Republic Conquest of California Interim governments California G…

Ini adalah nama Batak Pakpak, marganya adalah Meka. Ponirin Meka Informasi pribadiTanggal lahir (1956-02-02)2 Februari 1956Tempat lahir Deli Serdang, Sumatera UtaraTanggal meninggal 10 April 2022(2022-04-10) (umur 66)Tempat meninggal Tanjung Morawa, Sumatera UtaraPosisi bermain KiperKarier senior*Tahun Tim Tampil (Gol) PSDS Deli Serdang – PS Kinantan – Medan Putra 1982 PSMS Medan Tim nasional1984-1987 Indonesia * Penampilan dan gol di klub senior hanya dihitung dari liga domestik Poniri…

SantiagoSantiago de Chile. Searah jarum jam: Tebing Santa Lucía; Sanhattan; Titanium, sementara ini merupakan gedung tertinggi di Amerika Selatan; Santiago's Metro stopping in a L1 station, La Moneda palace, Entel Tower.Lokasi Komune SantiangoNegara ChileRegionSantiago Metropolitan RegionProvinsiSantiago ProvinceDibentuk12 Februari 1541Pemerintahan • MayorCarolina Tohá (PPD)Luas • Luas perkotaan641,4 km2 (2,476 sq mi) • Luas metropolitan1…

Peta menunjukkan lokasi Butuan City. Butuan City adalah kota yang terletak di provinsi Agusan del Norte, Filipina. Pada tahun 2011, kota ini memiliki penduduk sebesar 317.062 jiwa atau 64.380 rumah tangga.[1] Pembagian wilayah Butuan City terbagi menjadi 86 barangay, yaitu: Agao (Barangay 3) Agusan Pequeño Ambago Amparo Ampayon Anticala Antongalon Aupagan Baan Km. 3 Baan Riverside (Barangay 20) Babag Bading (Barangay 22) Bancasi Banza Baobaoan Basag Bayanihan (Barangay 27) Bilay Bit-os …

Sebuah gambar dari Sistem Filosofi Kimia Baru (A New System of Chemical Philosophy) John Dalton, penjelasan modern pertama tentang teori atom. Lini masa kimia memuat daftar karya, penemuan, gagasan, penciptaan, dan eksperimen penting yang secara signifikan mengubah pemahaman manusia tentang sains modern yang dikenal sebagai kimia, yang didefinisikan sebagai studi ilmiah tentang komposisi materi dan interaksinya. Sejarah kimia dalam bentuk modernnya bisa dikatakan dimulai dari ilmuwan Irlandia Ro…

عدم الحساسية الخلقية للألم مع عدم التعرق Congenital insensitivity to pain with anhidrosis تسميات أخرى الحسي الوراثي والاعتلال العصبي من النوع الرابع معلومات عامة الاختصاص علم الأعصاب من أنواع اعتلال الأعصاب الحسي الذاتي الوراثي،  وغياب الإحساس بالألم  [لغات أخرى]‏،  ونقص التعرق، …

Vaccine candidate against COVID-19 NDV-HXP-SPackaging for the Brazilian version of NDV-HXP-S, ButanVacVaccine descriptionTargetSARS-CoV-2Vaccine typeviral vector or inactivatedClinical dataTrade namesButanVac (Brazil) COVIVAC (Vietnam) HXP-GPOVac (Thailand) Patria (Mexico)Other namesADAPTCOVRoutes ofadministrationIntramuscular,[1] Intranasal Part of a series on theCOVID-19 pandemicScientifically accurate atomic model of the external structure of SARS-CoV-2. Each ball is an atom. COVID-19…

Des enfants jouant dans un bac à sable. L'enfance est une phase du développement humain physique et mental qui se situe entre la naissance et l'adolescence. En matière de droit, l'organisation mondiale de la santé définit l'enfance comme la période de la vie humaine allant de la naissance à 18 ans, y incluant ainsi la période de l'adolescence en grande partie[1]. Définition Selon le CNRTL, le mot « enfance » définit les « premières années de la vie d'un êt…

Pour les articles homonymes, voir Cassini. Pour les autres membres de la famille, voir Famille Cassini. César-François CassiniCassini III, Portrait par Jean-Marc NattierMiniature sur ivoire (v. 1750)FonctionDirecteurObservatoire de Paris - PSL1756-1784BiographieNaissance 17 juin 1714Thury-sous-ClermontDécès 4 septembre 1784 (à 70 ans) ParisNationalité FrançaiseActivités Astronome, cartographeFamille Famille CassiniPère Jacques CassiniFratrie Dominique-Joseph de CassiniEnfant Jean-D…

Major League Baseball season Major League Baseball team season 1997 Boston Red SoxLeagueAmerican LeagueDivisionEastBallparkFenway ParkCityBoston, MassachusettsRecord78–84 (.481)Divisional place4th (20 GB)OwnersJRY TrustPresidentJohn HarringtonGeneral managerDan DuquetteManagerJimy WilliamsTelevisionWABU(Sean McDonough, Jerry Remy)NESN(Bob Kurtz, Jerry Remy)RadioWEEI(Jerry Trupiano, Joe Castiglione)WROL(Bobby Serrano, Hector Martinez)StatsESPN.comBB-reference ← 1996 Seasons 1998…

American actress (1923–2001) This article is about the American actress. For the British classical scholar, see Kathleen Freeman (classicist). Kathleen FreemanFreeman in 1972Born(1923-02-17)February 17, 1923[1][2]Chicago, Illinois, U.S.DiedAugust 23, 2001(2001-08-23) (aged 78)Manhattan, New York City, U.S.Resting placeHollywood Forever CemeteryOccupationsActressvoice artistYears active1948–2001 Kathleen Freeman (February 17, 1923 – August 23, 2001…

Mixed doubles at the 1993 IBF World ChampionshipsVenueNational Indoor ArenaLocationBirmingham, EnglandDatesMay 31, 1993 (1993-05-31) – June 6, 1993 (1993-06-06)Medalists   Thomas Lund Catrine Bengtsson Jon Holst-Christensen Grete Mogensen   Denmark Nick Ponting Gillian Clark   England Aryono Miranat Eliza Nathanael   Indonesia← 1991 Copenhagen1995 Lausanne → Events at the 1993 IBF World C…

Mazda MX-5InformasiProdusenMazdaJuga disebutMazda MX-5 MiataMazda MiataEunos RoadsterMazda RoadsterMasa produksi1989-sekarangPerakitanHiroshima, Jepang (Pabrik Hiroshima)Bodi & rangkaKelasMobil sportRoadsterTata letakFR layoutPlatformMazda N platform MX-5, diluncurkan dengan nama MX-5 Miata /miˈɑːtə/ di Amerika dan Roadster di Jepang, adalah kendaraan bertipe roadster 2 kursi yang diproduksi Mazda. Mobil ini bermesin depan dengan penggerak roda belakang. Diproduksi di Hiroshima, Jep…

Гологорлый звонарь Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:Пт…

This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this article by introducing more precise citations. (September 2019) (Learn how and when to remove this template message) The 1995 edition of Orthodox Missal, an Antiochian Western Rite Vicariate missal that contains the formula and rubrics for celebrating the Liturgy of St. Tikhon The Liturgy of St. Tikhon is one of the Divine Litu…

Weapon-based martial art from Thailand This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Krabi–krabong – news · newspapers · books · scholar · JSTOR (August 2015) (Learn how and when to remove this message) Krabi KrabongKrabi-krabong practitioners with Daab swordsFocusWeaponryCountry of origin ThailandOlympic s…

كينغسلي     الإحداثيات 42°35′21″N 95°58′06″W / 42.589166666667°N 95.968333333333°W / 42.589166666667; -95.968333333333   [1] تاريخ التأسيس 1883  تقسيم إداري  البلد الولايات المتحدة[2]  التقسيم الأعلى مقاطعة بليموث  خصائص جغرافية  المساحة 4.163343 كيلومتر مربع (1 أبريل 2010)  ارتف…

Ekaristi dipertunjukkan dalam sebuah monstrans, diapit oleh lilin-lilin bernyala, dipuja oleh seorang putra altar yang sedang berlutut. Bagian dari seri Gereja Katolik tentangAdorasi EkaristiMonstrans surya untuk penakhtaan Ekaristi. Dokumen kepausan Mirae caritatis Dominicae cenae Mysterium fidei Mediator Dei Ecclesia de Eucharistia Sacramentum caritatis Organisasi dan peristiwa Kongregasi Sakramen Mahakudus Abdi Sakramen Mahakudus Penyembah Abadi Perhimpunan Tabernakel Kongres Ekaristi Tokoh t…

Election Not to be confused with 2016 United States Senate election in Vermont. 2016 Vermont Senate election ← 2014 November 8, 2016 2018 → All 30 seats in the Vermont Senate15 (plus the Lt. Gov.) seats needed for a majority   Majority party Minority party Third party   Leader John Campbell(retired) Joe Benning Anthony Pollina Party Democratic Republican Progressive Leader since January 5, 2011 January 9, 2013 2013 Leader's seat Windsor Franklin Washingt…

Kembali kehalaman sebelumnya