2

The SNS documentation FAQ's says:

SNS provides durable storage of all messages that it receives. Upon receiving a publish request, SNS stores multiple copies (to disk) of the message across multiple Availability Zones before acknowledging receipt of the request to the sender. Each AWS Region has multiple, isolated locations known as Availability Zones. Although rare, should a failure occur in one zone, the operation of SNS and the durability of your messages continue without disruption.

And

If it is critical that all published messages be successfully processed, developers should have notifications delivered to an SQS queue (in addition to notifications over other transports).

I was curious at a theoretical level, does anyone know any conditions which would cause a message published and accepted by SNS to be "lost" specifically when using an SQS consumer, i.e. the message is never delivered to the SQS subscriber.

David
  • 179
  • 11

1 Answers1

1

Also from the SNS FAQ:

SQS: If a SQS queue is not available, SNS will retry 10 times immediately, then 100,000 times every 20 seconds for a total of 100,010 attempts over more than 23 days before the message is discarded from SNS.

So I would suggest there are three primary scenarios for a message to be lost when using an SQS consumer:

  1. Persistent unavailability of SQS - beyond 23 days
  2. An exceptional software bug in SNS itself or the underlying storage technology which removes or otherwise loses the message
  3. Catastrophic region failure where there is simultaneous terminal loss of all underlying storage systems used by that SNS instance - likely only a major, large scale disaster affecting an entire geography, i.e. earthquake, flooding, large meteorite, significant explosive event
Alex Moore
  • 1,654
  • 4
  • 11