Могут ли клиенты кластера RabbitMQ повторно подключиться к другому узлу, если тот, к которому они подключены, выходит из строя? - PullRequest
0 голосов
/ 30 апреля 2020

Мне кажется, что я здесь упускаю что-то очень фундаментальное.

Я могу вызвать кластер RabbitMQ с тремя узлами (rabbit1, rabbit2 и rabbit3) без проблем. Затем, когда я начинаю писать свои микросервисы, кажется, что каждый клиент подключается только к одному экземпляру кролика. Допустим, у меня есть все мои сервисы, подключенные к rabbit1.

Если rabbit1 отключится, взорвется ли вся моя инфраструктура? Есть ли у служб способ переключения на другой узел кролика? Кажется, что они не могут, и в таком случае, какой смысл иметь кластер?

1 Ответ

0 голосов
/ 01 мая 2020

В случае, если кто-то еще сталкивается с этим и испытывает затруднения (как и я), обнаружив это в документации, RabbitMQ не управляет автоматическим восстановлением клиентского соединения. Из документов :

Некоторые клиентские библиотеки предоставляют механизм для автоматического c восстановления после сбоев сетевого подключения ... Другие клиенты могут считать, что восстановление после сбоев сети является обязанностью приложение.

Поэтому сначала проверьте, предлагает ли ваша библиотека автоматическое восстановление, если нет, вам придется реализовать ее самостоятельно.

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