Quelles sont les différences entre ces bibliothèques clientes amqp? Quelle est la plus recommandée? Quelles sont les principales différences?
Je suis le gars qui a écrit la bibliothèque bramqp. Je vais donc admettre dès le départ que je suis peut-être un peu partial. : P
À mon avis, aussi longtemps que vous connaissez la spécification, bramqp devrait fonctionner correctement. Sinon, utilisez amqp.node
Vous trouverez ci-dessous les bibliothèques amqp disponibles pour node.js.
amqplib/amqp.node - style de promesse, toujours à jour, a l'air plutôt stable et facile
bramqp - fournit un accès de bas niveau complet aux fonctions AMQP, non recommandé pour le démarrage
amqp-coffee - implémentation de coffeescript similaire à amqp/node-amqp
amqp/node-amqp - API fixe, populaire, non mise à jour aussi souvent, quelques bugs impairs, stable mais limitée
Les bibliothèques suivantes utilisent l’une des bibliothèques précédentes, tout en offrant une interface plus facile à utiliser ou en ajoutant des fonctionnalités.
rabbit.js utilise amqplib/amqp.node
wascally utilise amqplib/amqp.node
amq utilise amqplib/amqp.node
amqpea utilise bramqp
easy-amqp utilise amqp/node-amqp
rabbus utilise wascally
Je vais aussi ajouter node-amqp10 séparément, car il peut se connecter aux serveurs amqp 1.0.
S'il y a plus que je devrais ajouter, faites le moi savoir.
J'ai utilisé les deux pendant un moment. À première vue, il semblerait que node-amqp (amqp) soit plus approprié, mais il contient en fait tellement de bogues et personne ne les corrige. Par exemple,
Je l’ai testé avec un courtier fourni par www.robomq.io, c’est un bon choix, la responsabilité en incombe donc à la bibliothèque. Implémenter une bibliothèque parfaite dans Node.js est difficile.
Soit dit en passant, vous pouvez trouver un exemple complet de code utilisant amqp.node (amqplib) dans 5 scénarios à l’adresse https://github.com/robomq/robomq.io/tree/master/sdk/AMQP/Node. js et la documentation sur http://robomq.readthedocs.org/en/latest/one-one/#nodejs .
https://github.com/guidesmiths/rascal#rascal mérite également une mention. Il repose sur amqplib et dispose d'un ensemble de fonctionnalités utiles telles que la logique de reconnexion automatique, la souscription/publication basée sur la configuration et un support efficace pour TDD.
Je viens de commencer à apprendre le lapin moi-même. J'ai trouvé sur d'autres blogs que ampq.node est bien accepté. Un autre que j'ai trouvé (non testé) provient de wascally. https://github.com/LeanKit-Labs/wascally