В Документация SNS: часто задаваемые вопросы говорит:
SNS обеспечивает надежное хранение всех получаемых сообщений. После получения запроса на публикацию SNS сохраняет несколько копий (на диск) сообщения в нескольких зонах доступности перед тем, как подтвердить получение запроса отправителю. В каждом регионе AWS есть несколько изолированных местоположений, известных как зоны доступности. Если сбой в одной зоне случается редко, работа SNS и надежность ваших сообщений продолжаются без сбоев.
И
Если критически важно, чтобы все опубликованные сообщения были успешно обработаны, разработчики должны иметь уведомления, доставляемые в очередь SQS (в дополнение к уведомлениям через другие транспорты).
Мне было любопытно на теоретическом уровне, знает ли кто-нибудь какие-либо условия, которые могут привести к «потере» сообщения, опубликованного и принятого SNS, особенно при использовании потребителя SQS, т.е. сообщение никогда не доставляется подписчику SQS.
Также из SNS FAQ:
SQS: Если очередь SQS недоступна, SNS будет повторять 10 раз сразу, затем 100 000 раз каждые 20 секунд, всего 100 010 попыток в течение более 23 дней, прежде чем сообщение будет отклонено из SNS.
Поэтому я бы предложил три основных сценария потери сообщения при использовании потребителя SQS: