Vos chaussettes sous stéroïdes avec ZeroMQ

Programmation réseau

  • De nombreux protocoles
  • Many to One, Many to Many ?
  • Stabilité ?
  • Sécurité ?

AMQP / RabbitMQ

  • Protocole international
  • Construit autour d'un broker
  • Exemple: Queue distribuée de tâches

Problèmes: 

  • API complexe
  • Composant externe (brocker)
  • Overhead

ZeroMQ

  • Bibliothèque (.so)
  • Licence LGPL
  • Écrit en C++, API en C 

Avantages:

  • Flexible
  • Très très rapide™
  • Sécurité avec Curve

ZeroMQ - API

  • Sockets:
    zmq_socket, zmq_close
  • Connexion:
    zmq_connect, zmq_bind
  • Messages:
    zmq_send, zmq_recv
  • Options:
    zmq_getsockopt, zmq_setsockopt

ZeroMQ - Sockets

  • TCP, IPC, Inproc, PGM…
  • Connexions Many-to-Many
  • Asynchrones
  • Orientés messages
  • Queue en mémoire

ZeroMQ - Patterns

  • REQ / REP
    Synchrone

     
  • PUSH / PULL
    Pipeline, round-robin

     
  • PUB / SUB
    Channels

Merci !

Guide ZeroMQ: zguide.zeromq.org

Mon compte Twitter: twitter.com/k4nar

ZeroMQ - Clermont'ech

By Yannick Péroux

ZeroMQ - Clermont'ech

  • 2,693