Ben Lamm
Ben Lamm

Reputation: 583

Can the clients of a RabbitMQ cluster reconnect to another Node if the one they are connected to fails?

I feel like I am missing something very fundamental here.

I can bring up a RabbitMQ cluster with three nodes (rabbit1, rabbit2 and rabbit3) without an issue. Then when I start writing my microservices it seems like each client connects to only one rabbit instance. So let's say I have all my services connect to rabbit1.

If rabbit1 then goes down will my entire infrastructure blow up? Do the services have a way of switching to another rabbit node? It seems like they cannot, in which case, what is the point of having a cluster?

Upvotes: 3

Views: 558

Answers (1)

Ben Lamm
Ben Lamm

Reputation: 583

In case someone else runs into this and has trouble (like myself) finding this in the documentation, RabbitMQ does not manage client connection auto-recovery. From the docs:

Some client libraries provide a mechanism for automatic recovery from network connection failures... Other clients may consider network failure recovery to be a responsibility of the application.

So first check if you library offers auto-recovery, if not you'll have to implement it yourself.

Upvotes: 2

Related Questions