Существует два решения вашей проблемы.
Использование именованной очереди - одно из них.Установите обмен в режиме разветвления и подпишитесь на него с именованными очередями.При этом, когда издатель отправит сообщение в ваш обмен, оно будет отправлено всем прослушивающим очередям.
После этого вы можете иметь одного или нескольких получателей для каждой очереди (что позволяет масштабировать).Вы должны будете определить именованную очередь / потребителя.Когда один потребитель отключается, его очередь все еще получает сообщения, а когда он возвращается, он может их потреблять.
Вы должны быть в состоянии сделать то, что вы хотите таким образом.
Другой способ больше дляваши личные знания, так как вы сказали, что хотите использовать RabbitMQ.Но в этом конкретном случае вы могли бы использовать Кафху, и ваш потребитель мог после переподключения возобновить работу с индексом сообщений, который был при отключении.
Пожалуйста, обновите меня, если это не работает:)