AWS SNS com durabilidade do assinante SQS

2

As Perguntas frequentes sobre documentação do SNS dizem:

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.

e

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).

Eu estava curioso em um nível teórico, alguém sabe de qualquer condição que faria com que uma mensagem publicada e aceita pelo SNS fosse "perdida" especificamente ao usar um consumidor SQS, ou seja, a mensagem nunca é entregue ao assinante SQS. / p>     

por David Goate 18.06.2018 / 15:16

1 resposta

1

Também da FAQ do SNS :

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.

Portanto, sugiro que haja três cenários principais para que uma mensagem seja perdida ao usar um consumidor de SQS:

  1. Indisponibilidade persistente de SQS - além de 23 dias
  2. Um bug de software excepcional no próprio SNS ou a tecnologia de armazenamento subjacente que remove ou perde a mensagem
  3. Falha de região catastrófica onde há perda simultânea de terminal de todos os sistemas de armazenamento subjacentes usados por essa instância do SNS - provavelmente apenas um grande desastre em grande escala afetando uma geografia inteira, isto é, terremoto, inundação, grande evento explosivo
por 07.08.2018 / 09:45