выборочно получить сообщение из очереди, используя correlation_id - PullRequest
0 голосов
/ 09 января 2019

В Rabbitmq у меня есть привязка очереди «агрегатор» для обмена «Exhange1» с ключом маршрутизации «agg. *». Сообщения публикуются в этой очереди с динамическим генератором correlation_id. Допустим, сообщение с correlation_id='1234' опубликовано в этом обмене, и потребитель хочет использовать только это конкретное сообщение, не потребляя другое сообщение и не отправляя обратно, пока я не получу correlation_id=1234. Есть ли способ добиться этого?

Этот вопрос не касается разделения сообщений на основе ключа маршрутизации.

По сути, я хочу применить correlation_id в качестве фильтра и использовать конкретное сообщение, не используя все сообщения, потому что Rabbitmq doc говорит, что это антипаттерн.

1 Ответ

0 голосов
/ 09 января 2019

RabbitMQ доставляет сообщения в порядке FIFO. Невозможно удалить конкретное сообщение из очереди.

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


ПРИМЕЧАНИЕ: команда RabbitMQ отслеживает список рассылки rabbitmq-users и только иногда отвечает на вопросы о StackOverflow.

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