Мы работаем с кластером из двух узлов RabbitMQ, и мы используем драйвер Java RabbitMQ для взаимодействия с узлами. Мы используем обмен «заголовками», который передает сообщения в очереди на основе привязок заголовков и постоянных очередей.Определите очередь на нескольких узлах на RabbitMQ
Дело в том, что очереди определены для одного узла. Если по какой-то причине произошел сбой этого узла, сообщения, которые должны появиться в очередях этого узла, будут потеряны.
Есть ли способ сказать RabbitMQ изменить домашний узел очереди, когда обнаруживает, что другой узел, который их удерживает, недоступен, и поэтому, чтобы сообщения передавались в очередь? А для восстановления сообщений, когда узел снова появляется?
На данный момент мы используем высокодоступные очереди для решения этой проблемы, но производительность довольно плохая. Нам не нужны функции зеркалирования, так как для нас нормально восстанавливать сообщения, когда узел снова появляется.
Да, мы пробовали это. Он восстанавливает сообщения, доставленные до сбоя узла, когда узел снова появляется. Но когда узел опущен, очереди с этим узлом в качестве исходного узла по-прежнему игнорируют новые сообщения, пока узел не появится снова. – Kraiss