Очередь сглаживает нагрузку и переживает временный отказ потребителя, но без правил повторов одна плохая запись блокирует поток или крутится бесконечно.
Ограничьте повтор
Временную ошибку повторяйте с увеличением задержки и случайным разбросом, а постоянную валидационную проблему быстро отделяйте. Причину сохраняйте.
Используйте DLQ осмысленно
В отдельной очереди храните исходное сообщение, идентификатор, число попыток и безопасное описание последней ошибки. Секреты маскируйте.
Верните после исправления
Перед повторным запуском устраните причину, проверьте идемпотентность и ограничьте скорость возврата, наблюдая нагрузку и результат. Историю не теряйте.
У каждой рабочей DLQ должен быть конкретный владелец, проверяемый алерт, понятная панель, срок разбора и процедура возврата, иначе она постепенно превращается в постоянное хранилище незаметно потерянных критичных бизнес-операций без ответа пользователю.
Основу событийного обмена описывает событийная архитектура. Сверка подтверждает итог повторной обработки.