Zeromq

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Bibliothèque de messagerie asynchrone (sans courtier central)
Langage Cœur en C++, bindings dans de nombreux langages
Licence Open source (LGPL / MPLv2 selon les versions, à vérifier)
Voir aussi Activemq · Kestrel · Rabbitmq

ZeroMQ (aussi noté ØMQ) est une bibliothèque de messagerie asynchrone haute performance, utilisée pour construire des systèmes distribués et concurrents.

Présentation

  • Contrairement à un courtier de messages classique (Activemq, Rabbitmq), ZeroMQ ne nécessite pas de serveur central : les échanges se font directement entre les processus, selon différents patrons de communication (requête/réponse, publication/abonnement, répartition de tâches...).
  • Se présente comme une simple bibliothèque à lier dans une application, avec une API de sockets enrichie par rapport aux sockets réseau classiques.
  • Utilisé pour des besoins de faible latence et de haut débit entre composants distribués.

Positionnement

ZeroMQ n'est pas à proprement parler un ESB ou un courtier de messages : c'est une brique bas niveau qui peut servir à en construire un. Il se distingue par l'absence d'intermédiaire central (« broker-less messaging »).

Voir aussi

  • Activemq — courtier de messages avec serveur central, approche complémentaire.
  • Kestrel — file de messages distribuée avec serveur.
  • Rabbitmq — broker de messages AMQP.