Rabbitmq допускает только одного одновременного потребителя - PullRequest
0 голосов
/ 13 июня 2018

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

Если у меня есть два экземпляра моего приложения и у этого приложения есть прослушиватель, который прослушивает «queue1», тогдатекущим поведением является то, что если один потребитель занят, то другой потребитель берет данные и читает их.Но я не хочу этого.

Мне нужен только потребитель1, который может прочитать очередь, а потребитель2 находится в режиме ожидания до тех пор, пока потребитель1 не выйдет из строя.

Я также пробовал использовать эксклюзив, но это не таквыполнить мои требования.

Может кто-нибудь помочь мне в этом.

1 Ответ

0 голосов
/ 13 июня 2018

Команда RabbitMQ отслеживает список рассылки rabbitmq-users и только иногда отвечает на вопросы по StackOverflow.


Это не является функцией RabbitMQ или среды Spring.Вам придется самостоятельно осуществлять отказоустойчивость в своих потребителях.Один из вариантов заключается в том, чтобы «основной» потребитель публиковал сообщения пульса в известную очередь, которую может прочитать потребитель отработки отказа.Если потребитель отказоустойчивости не получает определенное количество сообщений пульса из этой очереди в течение определенного периода времени, он может выполнить дополнительные проверки, чтобы выяснить, жив ли главный потребитель, и, если нет, взять на себя эту роль.

Это только одно предложение - есть много способов реализовать это.

...