SNS → SQS Fan-Out Pattern
[OrderPlaced event] → SNS Topic
├── SQS Queue (payments team)
├── SQS Queue (inventory team)
├── SQS Queue (analytics)
└── Lambda (real-time notification)
Each consumer gets its own queue → independent processing speed, DLQ, and retry policy.
SQS must grant SNS permission to send messages:
{
"Effect": "Allow",
"Principal": { "Service": "sns.amazonaws.com" },
"Action": "sqs:SendMessage",
"Condition": { "ArnEquals": { "aws:SourceArn": "arn:aws:sns:...topic-arn" } }
}