AWS blog says that it supports the fanout messaging pattern. To do that, I subscribe SQS queues to a SNS topic.
Now my question is, is the publishing of message to SQS by SNS reliable? As in, is it guaranteed that the SNS will always successfully post a notification (message) on all SQS queues that are subscribed, upon every post to SNS?
I believe this is a guaranteed service, at least that's what I was told last time I met with the SNS/SQS team. We make use of SNS->SQS bindings quite heavily
Quoting sns faqs from AWS:
A message delivery fails when Amazon SNS can't access a subscribed endpoint, due to either a client-side or a server-side error. A client-side error happens when the subscribed endpoint has been deleted by the endpoint owner, or when its access permissions have changed in a way that prevents Amazon SNS from delivering messages to this endpoint. A server-side error happens when the service that powers the subscribed endpoint is unavailable, such as Amazon SQS or AWS Lambda. When Amazon SNS receives a client-side error, or continues to receive a server-side error for a message beyond the number of retries specified by the corresponding retry policy, Amazon SNS discards the message — unless a dead-letter queue is attached to the subscription. For more information, see Message Delivery Retries. and Amazon SNS Dead-Letter Queues.
We are using SNS-SQS combination in production for more than 3 years now and never had been an occasion where SQS was down. But if for some reason SQS is down in a region (AZ redundancy is already handled by AWS), the dead letter queues (DLQ) may also not work.
© 2022 - 2024 — McMap. All rights reserved.