What are the differences between those amqp client libraries? Which one is the most recommended? What are the major differences?
I'm the guy that wrote the bramqp library. So I'm going to admit from the start I may be a bit biased. :P
In my opinion, as long as you know the spec, bramqp should work fine. Otherwise, use amqp.node
The following are the amqp libraries available for node.js.
amqplib / amqp.node - promise style, still updated, looks pretty stable and easy
bramqp - provides a full low level access to AMQP functions, not recommended for starting out
amqp-coffee - coffeescript implementation similar to amqp/node-amqp
amqp / node-amqp - popular, fixed API, not updated as often, a few odd bugs, stable but limited
The following libraries use one of the previous libraries, while providing an easier to use interface or adding features
rabbit.js uses amqplib/amqp.node
wascally uses amqplib/amqp.node
amq uses amqplib/amqp.node
amqpea uses bramqp
easy-amqp uses amqp/node-amqp
rabbus uses wascally
I am also going to add node-amqp10 separately, as it can connect to amqp 1.0 servers.
If there are any more that I should add, just let me know.
This question probably requires an updated answer in 2020.
You may still refer to bakkerthehacker's answer as to what the different libraries do.
In 2020:
I used both for a while. At the first glance, it might seem that node-amqp (amqp) is more adequate but it actually has so many bugs and no one is fixing them. For instances,
I tested it with broker provided by www.robomq.io, it's a good one so the blame should be of the library. Implementing a perfect library in Node.js is tough though.
By the way, you can find a full set of example code using amqp.node (amqplib) in 5 scenarios at https://github.com/robomq/robomq.io/tree/master/sdk/AMQP/Node.js and the documentation at http://robomq.readthedocs.org/en/latest/one-one/#nodejs .
https://github.com/guidesmiths/rascal#rascal worth a mention too. It's built on top of amqplib, and has a set of useful features like auto reconnection logic, configuration based subscription / publication and good support for TDD.
Just started learning rabbitmq myself. I've found from other blogs that ampq.node is well accepted. Another one that I've found (not tested) is from wascally. https://github.com/LeanKit-Labs/wascally
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.