tagular/node-rabbit-wrap — pull request #1 by hopkinsth (2014-04-19 01:41:35+00:00)
Title: Feature/amqp.node

This branch implements everything needed for us to use (amqplib)[https://github.com/squaremo/amqp.node] in this wrapper. Why use amqplib? There are a few reasons.

* It provides us access to AMQP and rabbitmq features that node-amqp does not.
* It gives us better control over how we use rabbit, so we can avoid accidentally having tens of thousands of open channels.
* We have *much* beter latency with it, as measured by cloudwatch ELBs. (I suspect this has something to do with the `frame_size` that amqplib sets.)
* It has a more consistent API.

Why might we want to avoid amqplib?
* It's less tested in production.
* It uses promises, which introduces an additional dependency in the dependency stack.
* It has a lower-level API, which means we need to implement some things (e.g. reconnection logic) ourselves.

Overall, I think that amqplib is the way to go for now. This wrapper is like a non-promised frontend to it.