Я думаю, что для этого вопроса важно иметь в виду, что существует разница между «потребителем» в каноническом смысле и «потребителем» в смысле RabbitMQ.
A RabbitMQ Consumer - это устройство протокола - по сути, это обозначение, по которому канал / соединение хотели бы, чтобы ему передавались сообщения под назначенным тегом потребителя. В этом смысле это просто уведомление брокеру о немедленной отправке сообщений.
В каноническом смысле получатель сообщения - это любой фрагмент кода, который обрабатывает сообщения.
Итак, ответ на ваш вопрос «да, go впереди и напишите свою программу для этого». Вы контролируете канонический код потребителя. Ваше программное обеспечение должно определить, что делать с сообщением, которое поступает из очереди.
Теперь, если вам интересно, может ли RabbitMQ повторно подписать потребителя на другую очередь, ответ таков: это не так, как это работает ". В RabbitMQ потребитель - это просто ответ на запрос подписки на очередь - это объект «потребительский тег». Текущий характер подписки привязан к паре канал / соединение.
Что делать? Хотя в вашем коде не указан какой-либо конкретный язык кодирования, по моему мнению, вы ' не в курсе, даже задавая этот вопрос. Подпишитесь на обе очереди. Если рабочему нечего делать, я думаю, что компьютер был бы совершенно доволен этим. Если вас беспокоит то, что очередь слишком занята и выдает слишком много работы, вы можете использовать ряд методов для регулирования количества сообщений, поступающих этому потребителю. Одним из популярных методов является prefetch .