What are the differences between those amqp client libraries? Which one is the most recommended? What are the major differences?
I would recommend amqp.node and bramqp over node-amqp. node-amqp has a lot of bugs and is poorly maintained, and it hides the "channel" concept which introduces a lot of problems for rabbitmq servers (because they are never closed).
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With