<div dir="ltr">Hello,<div><br></div><div>I was doing some tests by setting a RabbitMQ cluster. I have setup two servers as disk nodes, the queues/exchanges that I created in NODE1 are visible on the NODE2, I tried to publish one message to the queue on NODE1 by posting to the "replicated" exchanged on the NODE2 and it worked well - the message was added to the queue on NODE1.</div>
<div><br></div><div>To test the "Availability" of my cluster, I stopped Rabbit on NODE1 and tried to publish the a message connecting on the NODE2, since the exchange was bind to a queue on the NODE1 that was down it failed:</div>
<div><br></div><div><span id="docs-internal-guid-2505ec7e-4e23-c40f-fa95-2eee7a6f719b"><img src="https://lh5.googleusercontent.com/hEKOZY12vvDyOw6M_ba9oOXUGkB2qqilLqUpfy3FbGbXlIkDA-3ngtb_eCBbnqnmg40vTnqV_tEUdZV1XSdWMFb1pdOkOXV_ULnAmHYA2E2IFZVEpRoGR_coaw" width="624px;" height="213px;"></span><br>
</div><div><span><br></span></div><div><span>My question is, even though I have a cluster, all my nodes must be up during publish operations? How I can make sure that my 'producers' can publish messages when at least one node in the cluster is up and running? Today our code is saving the message in the SQL database if the RabbitMQ is not running and we have a second job that reads the messages from this table and send to Rabbit once it is running again. </span></div>
<div><span><br></span></div><div><span>Another option to increase </span>availability would be setup several non-clustered Rabbit nodes with the same queues/exchanges and use the federation/shovel plugin to move the messages to the "master" node that that my consumers are connected?</div>
<div><br></div><div>Thanks!</div><div><span><br></span></div><div><span><br></span></div><div><div><br></div></div></div>