Handle failover in amqp #107

agollahareesh opened this Issue Jun 21, 2012 · 9 comments


None yet
6 participants

Is there any way to connect two rabbitmq servers while connecting from node. In present version 0.1.3 it is only supporting single connection to rabbitmq server. Actually the rabbitmq is running in clustered environment, if one connection is failed iam unable to connect other rabbitmq node.
I tried by adding close listener to handle the fail condition and it worked fine for first connect and for second connect the socket is closing.

Multiple connections would be a nice feature.


chriswiggins commented Jun 25, 2013

This does work if you pass in an array of hostnames for the addresses. You can also use hostPreference inside your config as well to specify preference for a specific host

momico commented Jun 8, 2014

It will be highly appreciated if an example of how to supply an array of hostnames, since I couldn't find an example or an explanation in the docs.

vertex commented Jan 9, 2015



Am using amqplib/callback_api.
how can i list all the rabbit nodes in the connection url.


chriswiggins commented Jul 10, 2015

Unfortunately as far as I'm aware you can't. We'd all be grateful for a pull request though! :-)

Sent from my iPhone

On 11/07/2015, at 12:33 am, PreethiBabu87 <notifications@github.commailto:notifications@github.com> wrote:


Am using amqplib/callback_api.
how can i list all the rabbit nodes in the connection url.

Reply to this email directly or view it on GitHubhttps://github.com/postwait/node-amqp/issues/107#issuecomment-120399671.

So how will I be able to perform multiple connections using nodejs other than amqplib/callback_api? Any other package can be used?

And I see your comment above stating that array of host names work.. What's the npm package that's required in order to get it work


chriswiggins commented Jul 12, 2015

@PreethiBabu87 its this package. Just don't use URLs to connect, do what is suggested at the top of the README:

var connection = amqp.createConnection({ host: 'dev.rabbitmq.com' });

However for multiple hosts, do:

var connection = amqp.createConnection({ hostArray:
[ 'dev.rabbitmq.com', 'host2', 'host3'] });

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment