ZeroMQ (auch ØMQ, 0MQ oder ZMQ) ist eine asynchrone Nachrichtenaustauschbibliothek für High-Throughput Computing, die speziell auf Verteilte Systeme oder gleichzeitige Ausführung in verschiedenen Systemen entwickelt wurde. Es ist eine Message Queue, benötigt aber im Gegensatz zu Message Oriented Middleware keinen dedizierten Message Broker.
Geschichte Der erste Entwurf für ZeroMQ wurde von Pieter Hintjens im November 2007 geschrieben. iMatix bzw. Pieter Hintjens hat AMQP entwickelt, dieses wurde später als nicht wartbar und mit Designfehlern behaftet aufgegeben und ZeroMQ entwickelt. Deshalb zog sich iMatix aus der Entwicklung und den entsprechenden Gremien zurück. Bis 2012 war Martin Sustrik der führende Entwickler bei ZeroMQ, verließ aber das Projekt aufgrund von Bedenken wegen des Entwicklungsprozesses und des Copyrights für das Logo; er gründete daraufhin crossroads I/O. Sustrik überführte crossroads I/O in nanomsg und schrieb den Code komplett neu.
Einsatzbereiche In einem White Paper zur Marktanalyse wurden die möglichen Einsatzbereiche für ZeroMQ beschrieben:
Hochleistungssegmente: Geringe Latenz, kostengünstig, Geschwindigkeitsvorteil bei der Verarbeitung Handelsplattformen Investmentbanken Datensammler und -aufbereiter (z. B. Reuters) Börsen (Aktien, Devisen, Rohstoffe) Weitere Märkte: Geschäfts- und Institutionelle Nachrichtenübermittlung (Bezahlplattformen, Dokumentenübermittlung) Embedded systems (z. B. Echtzeit Messsysteme) Multimedia (Streaming-Plattformen) Grid-Computing (z. B. im Bereich der Risikoanalyse)
Schnittstellen zu Programmiersprachen Die Liste ist nicht vollständig und es werden nur die häufigsten Programmiersprachen genannt:
C C# C++ Java Perl PHP Python Rust Ruby Erlang Node.js Haskell uvm.
Software, bei der die Bibliothek eingesetzt wird Zum Beispiel bei der Software Xibo (Software für Digital Signage) wird ZeroMQ genutzt, um zwischen dem Content-Management-System und den Monitoren (Player) zu übermitteln (push).
In Firebird Butler soll die Bibliothek für den Abgleich und Kommunikation zwischen der Entwicklungsplattform und den Servern eingesetzt werden.
Literatur Pieter Hintjens: ZeroMQ: Messaging for Many Applications, O’Reilly Media, 2013.
Einzelnachweise
Kategorie:Middleware Kategorie:Freie Programmbibliothek