Environment: RabbitMQ 3.8.14
, Erlang 23.2
, Masstrnasit 7.2.2
, Asp.net core 5.0
Windows server 2016
.
I have two nodes with names rabbit@rabbitOne
and rabbit@rabbitTwo
in separate servers.
according by RabbitMQ
but with this state(rabbit@rabbitOne) MassTransit Bus couldn't connect to the RabbitMQ. I got the exception: 'None of the specified endpoints were reachable'. connection faild: "rabbitmq://myMlusterName"
.
I know what's mean. But I assume this tips: Despite the rabbit@rabbitOne
node was down, but rabbit@rabbitTwo
node with quorum queues must be available!.
Miss I understnding any thing about RabbitMQ clustering?
I guess, I must be set Host with another value in MassTransit configurations?
must be I set a thing in the RabbitMQ config file for discovery nodes?
or another miss understnding?
CodePudding user response:
Quorum queues require a quorum to be accessible, which means either 2 of 3 nodes, or 3 of 4 nodes, etc. You can't have a quorum queue with only a single node available. It's (N/2) 1. And 2/2 1=2.
It's right in the documentation.
Classic HA queues work with a single node, but can potentially result in a split-brain if you don't use pause minority and manually recover the failed nodes.