Весенний обмен мертвыми письмами amqp с привязкой нескольких очередей

В моем приложении, используя две очереди, которые связаны с одним обменом с ключом a. .
Любое сообщение, приходящее с совпадением с этим ключом regex, будет отправлено в обе очереди.

Случай 2: я пытаюсь реализовать сообщение задержки и max пытается в случае исключения бизнеса потребителя с помощью механизма обмена мертвыми письмами.

Случай проблемы предположим одно из исключений сквозного бизнеса потребителя очереди…. Он будет идти dlx, а затем к основному исключению….. Тогда из основного исключения…. Сообщение идет в обе очереди. Это проблема, с которой я сталкиваюсь ….. Я хочу, чтобы сообщение о повторной попытке отправлялось в эту очередь только из того места, где произошло исключение потребителя.

Теперь в моих случаях повторное сообщение собирается во все очереди и создает дубликаты сообщений.

1 ответ

  1. Для каждой очереди можно добавить вторую привязку, специфичную для очереди; затем настройте каждый DLQ с этим определенным ключом маршрутизации…

    x-dead-letter-exchange=mainExchange
    x-dead-letter-routing-key=retryMainQ1

    Конечно, вам нужно 2 Dlq.