Réseau

Twisted

Twisted est un moteur réseau piloté par événement. Il peut être utilisé pour construire des applications autour de nombreux protocoles réseau différents, incluant les serveurs et les clients http, les applications utilisant les protocoles SMTP, POP3, IMAP ou SSH, la messagerie instantanée et plus encore.

PyZMQ

PyZMQ est le binding Python pour ZeroMQ, qui est une bibliothèque de messagerie asynchrone haute performance. Un grand avantage de ZeroMQ est qu’il peut être utilisé pour la gestion de queue de messages sans broker de messages. Les patterns de base pour cela sont:

  • request-reply: connecte un jeu de clients à un jeu de services; C’est un pattern d’appel de procédure à distance et de distribution de tâches

  • publish-subscribe: connecte un jeu de publicateurs à un jeu d’abonnés. C’est un pattern de distribution de données.

  • push-pull (ou pipeline): connecte les nœuds suivant un pattern fan-in / fan-out qui peut avoir plusieurs étapes, et des boucles. C’est un pattern de répartition et de collecte de tâches en parallèle.

Pour un démarrage rapie, lire le guide ZeroMQ.

gevent

gevent est une bibliothèque de réseau de Python basée sur les coroutines qui utilise greenlets pour fournir une API synchrone de haut niveau sur le dessus de la boucle d’événement de libev.