У меня есть поток с входящим соединителем AMQP, который по умолчанию делает его асинхронным (16 потоков на пул потоков). Этот поток предназначен для доставки полученных сообщений по некоторым исходящим HTTP-запросам.
На полпути потока есть некоторые другие HTTP-запросы к третьим сторонам, которые могут вызвать некоторые тайм-ауты, поэтому сообщение выпадает из потока. Результат? Сообщение не доставлено. Кроме того, некоторые проблемы с SEDA имеют тенденцию появляться всякий раз, когда это выполняется.
Предложенное решение заключается в настройке разъема AMQP с ручным подтверждением ACK, а затем в сообщениях подтверждения или блокировки.
Кроме того, для параметра Fetch Count - amqp установлено значение 16, то же самое для каналов.
Есть ли у вас какие-либо решения для решения этой проблемы?