Я использую очередь Амазонки SQS для отправки уведомлений во внешнюю систему.Как гарантировать, что Amazon SQS получит сообщение только один раз?
Если запрос HTTP не работает при использовании SQS 'SendMessage
, я не знаю, было ли сообщение поставлено в очередь или нет. Моя политика по умолчанию - повторить отправку сообщения в очередь, но есть риск опубликовать сообщение дважды, что может быть неприемлемым в зависимости от варианта использования.
Есть ли способ, чтобы SQS отклонил сообщение, если в теле сообщения есть дубликат (или какие-то метаданные какого-либо сообщения, такие как уникальный идентификатор, который мы могли бы предоставить), чтобы мы могли повторить попытку до тех пор, пока сообщение не будет принято , и быть уверенным, что дубликат не будет, если первый запрос уже поставлен в очередь, но ответ был утерян?
Вот еще [предложил чтение о том, почему полное дедупликации не представляется возможным] (http://stackoverflow.com/a/38290017/836214) – Krease