2011-01-21 4 views
3

je les exigences suivantes:ZeroMQ vs vs Node.js beanstalkd vs Twisted

  1. messagerie fiable: la livraison est-elle assurée, dans l'ordre, sans duplication
  2. filtrage des messages et le routage basé sur personnalisable critères
  3. message multi-cast
  4. message liste des destinataires, envoyer des messages aux destinataires spécifiés ne
  5. priorités Message
  6. Sécurité intégrée

Je veux savoir pour chacune des solutions mentionnées dans le titre quelles sont les exigences de ce qui précède sont pris en charge.

Si vous ne connaissez que d'un seul produit, partagez votre opinion.

Répondre

2

0Mq et Twisted sont des outils pour construire des systèmes de connectivité, node.js est un serveur web (qui a divers plugins pour parler à d'autres systèmes via beanstalkd ou 0Mq). Parmi les quatre technologies répertoriées, seule Beanstalkd est en fait une file d'attente. Il pourrait utiliser des «tubes» nommés pour différencier les destinations potentielles (avoir tous les travailleurs à partir d'un ou plusieurs tubes, au besoin). Si chaque travailleur lisait à partir de tubes spécifiques, vous pourriez l'utiliser un peu comme le multi-cast, en demandant aux travailleurs de tirer leur propre source définie.

Si vous avez vraiment besoin de la multidiffusion et du routage, vous aurez peut-être besoin de quelque chose de plus complexe. Rabbit.mq peut en faire la majeure partie, mais si vous voulez placer les critères dans le logiciel de file d'attente/routage lui-même, vous aurez peut-être besoin de ESB.

+0

ZeroMQ n'est pas une file d'attente? – andho

+5

ZeroMQ est une bibliothèque de mise en réseau. Il active les files d'attente et les utilise en interne. Vous pouvez également télécharger des programmes compatibles ZMQ qui implémentent des files d'attente sur disque plus robustes, telles que https://github.com/mkoppanen/pzq/wiki/An-Introduction-To-PZQ –

+10

Descriptions incorrectes. node.js est un serveur web, c'est comme dire que ruby ​​on rails est un serveur web. Dit que, ZeroMq est un protocole, comme TCP est un protocole, avec des implémentations dans de nombreux langages. Twisted est comme nodejs mais en python. Et enfin, Beanstalkd est un serveur de travail avec son propre protocole de file d'attente. – graffic