Как узнать в кластере RabbitMQ, какой узел самый старый? - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть настроенный кластер узлов, в котором каждая очередь зеркально отображается для каждого узла. Изначально все мои соединения ставятся в очередь и освобождаются от очереди на первом узле, однако в случае его закрытия клиент должен перейти на другие узлы

Address[] addrArr = new Address[]{ new Address(hostname1, portnumber1) , new Address(hostname2, portnumber2), ...};

какой узел самый старый? Как это будет больше похоже на узел, который умер.

1 Ответ

1 голос
/ 23 февраля 2012

Я предполагаю, что вы используете RabbitMQ Highly Available Queues (если нет, вы должны серьезно рассмотреть это). В этом случае RabbitMQ обрабатывает все автоматически. Чтобы процитировать документацию,

Если вы остановите узел RabbitMQ, который содержит мастер зеркальной очереди, некоторое ведомое устройство на каком-либо другом узле будет повышено до мастер

Итак, вам не нужно об этом беспокоиться. Содержимое очереди автоматически реплицируется, и если очередь по какой-то причине выходит из строя, другая копия очереди станет главной (и эта очередь будет идентичной отказавшей очереди, а не просто похожей).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...