Как гарантировать доставку сообщения, 100% - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть поток с входящим соединителем AMQP, который по умолчанию делает его асинхронным (16 потоков на пул потоков). Этот поток предназначен для доставки полученных сообщений по некоторым исходящим HTTP-запросам.

На полпути потока есть некоторые другие HTTP-запросы к третьим сторонам, которые могут вызвать некоторые тайм-ауты, поэтому сообщение выпадает из потока. Результат? Сообщение не доставлено. Кроме того, некоторые проблемы с SEDA имеют тенденцию появляться всякий раз, когда это выполняется.

Предложенное решение заключается в настройке разъема AMQP с ручным подтверждением ACK, а затем в сообщениях подтверждения или блокировки.

Кроме того, для параметра Fetch Count - amqp установлено значение 16, то же самое для каналов.

Есть ли у вас какие-либо решения для решения этой проблемы?

...