Summary:

  • AWS SNS provides two distinct topic types. Standard topics optimize for maximum throughput, while FIFO topics provide strict ordering and support exactly-once delivery. The new 2025 high-throughput FIFO mode bridges the gap between reliability and scale.
  • Understanding region-specific quotas, message delivery guarantees, retry policies, and dead-letter queue configurations is essential for building resilient pub/sub architectures that survive real-world failure scenarios.
  • This guide covers advanced patterns including cross-region disaster recovery, archive and replay policies, cost optimization strategies, and monitoring best practices that separate production-grade implementations from tutorial-level deployments.

When a single misconfigured retry policy causes your payment notification system to hammer a downstream service with 50,000 duplicate messages in under a minute, you quickly learn that Amazon SNS is far more than a simple message broadcaster. AWS SNS sits at the heart of event-driven architectures across millions of production systems. Yet most engineering teams operate with only surface-level understanding of its delivery semantics, throughput boundaries, and failure modes.

This deep dive moves beyond introductory tutorials to examine the architectural decisions, regional constraints, and operational patterns that distinguish robust SNS implementations from fragile ones. Whether you are preparing for an interview or architecting a mission-critical notification pipeline, the following sections will equip you with the technical depth required to make informed trade-offs.

The following diagram illustrates the core components of an SNS-based pub/sub architecture and how messages flow from publishers through topics to various subscriber endpoints.

Core SNS pub/sub architecture showing publisher sources, topic processing, and subscriber endpoint types

Standard versus FIFO topics in AWS SNS

Amazon SNS offers two fundamentally different topic types, each optimized for distinct use cases. Standard topics prioritize maximum throughput and best-effort ordering, making them ideal for high-volume scenarios like application alerts, fan-out patterns, and broadcast notifications where occasional message reordering or duplication is acceptable. FIFO topics provide strict ordering and can achieve exactly-once delivery when used with SQS FIFO queues and proper deduplication configuration. This proves essential for financial transactions, inventory updates, and any workflow where processing sequence directly impacts correctness.

The architectural distinction extends beyond delivery guarantees into how AWS manages internal message routing. Standard topics leverage a distributed architecture that can sustain nearly unlimited publish throughput. FIFO topics historically imposed a 300 messages per second limit to maintain ordering guarantees. This constraint forced architects to choose between reliability and scale until the January 2025 introduction of high-throughput FIFO mode fundamentally changed the calculus.

Real-world context: A major e-commerce platform migrated from standard to FIFO topics for order processing and discovered that the 300 msg/s limit created bottlenecks during flash sales. They implemented message batching with PublishBatchRequest to aggregate up to 10 messages per API call, effectively multiplying their throughput ceiling before high-throughput mode became available.

Key differentiators for topic selection

Selecting between standard and FIFO topics requires evaluating several technical dimensions beyond the obvious ordering guarantees. Consider the following decision factors:

  • Deduplication requirements: FIFO topics provide content-based or MessageDeduplicationId-based deduplication within a 5-minute window, eliminating duplicate processing without application-level logic.
  • Subscriber compatibility: FIFO topics integrate with SQS queues as subscribers. Standard topics can fan out to Lambda, HTTP endpoints, email, SMS, and mobile push.
  • Regional availability: FIFO topics are available in fewer regions than standard topics, which impacts multi-region architecture decisions.
  • Cost structure: FIFO topics cost approximately $0.50 per million requests compared to $0.50 for standard. However, the reduced subscriber flexibility may require additional architectural components.

Understanding these trade-offs prepares you for the throughput enhancements covered in the next section, where high-throughput FIFO mode addresses the historical scalability limitations.

High-throughput FIFO mode and the 2025 enhancements

The January 2025 release of high-throughput mode for SNS FIFO topics represents a significant architectural evolution. This feature increases the publish throughput from 300 messages per second to 3,000 messages per second per message group. You can scale further by distributing messages across multiple message groups. The enhancement addresses the primary objection enterprises had against FIFO adoption, which was the inability to handle burst traffic without complex sharding strategies.

Enabling high-throughput mode requires setting the FifoThroughputScope attribute at the topic level. When configured to MessageGroup, the throughput limit applies per MessageGroupId rather than per topic. This enables horizontal scaling through intelligent message group design. This architectural pattern mirrors database sharding strategies where you partition workloads across logical boundaries to achieve aggregate throughput beyond single-resource limits.

Pro tip: Design your MessageGroupId strategy around natural business partitions like customer_id, region, or tenant_id. This approach ensures messages requiring strict ordering share a group while unrelated messages process in parallel, maximizing throughput without sacrificing correctness.

Implementation with infrastructure as code

Deploying high-throughput FIFO topics through infrastructure as code ensures reproducibility and version control. The following Terraform configuration demonstrates enabling high-throughput mode with content-based deduplication:

For teams using CloudFormation, the equivalent configuration leverages the FifoThroughputScope property introduced in the 2025 schema updates. Both approaches integrate with existing CI/CD pipelines and enable GitOps workflows for topic management. With throughput constraints addressed, the next consideration becomes understanding the hard limits AWS imposes across different regions.

Quotas, limits, and regional considerations

AWS SNS quotas vary by region and topic type, creating constraints that architects must account for during capacity planning. The following table consolidates the critical limits from the AWS General Reference documentation, including the 2025 high-throughput additions not covered in most competitor guides:

Quota typeStandard topicsFIFO topics (default)FIFO topics (high-throughput)
Publish requests per secondSoft limit: 30,000 (varies by region)300 per topicupto ~3,000 per message group
Topics per account100,0001,0001,000
Subscriptions per topic12,500,000100100
Message size256 KB256 KB256 KB
Batch size (PublishBatchRequest)10 messages10 messages10 messages
Filter policies per topic200100100

Watch out: The 256 KB message size limit includes both the message body and any message attributes. For payloads exceeding this limit, implement the claim-check pattern by storing the payload in S3 and publishing only the object reference through SNS.

Regional availability and quota variations

Not all AWS regions support identical SNS features or quotas. US East (N. Virginia), US West (Oregon), and EU (Ireland) typically receive new features first and maintain the highest default quotas. Newer regions like Middle East (Bahrain) or Africa (Cape Town) may have lower soft limits and delayed feature availability. Before architecting multi-region deployments, verify feature parity through the AWS Regional Services List and request quota increases proactively for production workloads.

The following diagram shows how quota boundaries interact with message flow and where throttling occurs in the publish path.

SNS publish path showing quota evaluation checkpoints and throttling behavior

With quota boundaries established, the next critical area involves understanding how SNS handles message delivery failures and the retry mechanisms that determine eventual consistency.

Message delivery guarantees and retry policies

SNS delivery semantics differ substantially based on subscriber endpoint type, creating nuanced reliability characteristics that impact application design. For SQS and Lambda subscribers, SNS provides at-least-once delivery with automatic retries managed entirely by AWS infrastructure. HTTP/HTTPS endpoints receive a configurable retry policy with exponential backoff. Email and SMS endpoints operate on best-effort delivery without application-visible retry mechanisms.

SNS applies a multi-phase retry policy for HTTP/S endpoints consisting of immediate, pre-backoff, backoff, and post-backoff phases. The exact number of retries and delay intervals are configurable via delivery policies and can vary based on endpoint requirements. The phases break down as follows:

  1. Immediate phase: 3 retries with no delay between attempts, targeting transient network failures.
  2. Pre-backoff phase: 2 retries at 1-second intervals, allowing brief endpoint recovery.
  3. Backoff phase: 10 retries with exponential backoff from 1 to 20 seconds, accommodating longer outages.
  4. Post-backoff phase: 35 retries at a fixed interval before final failure.

Historical note: Before 2019, SNS HTTP retry policies were not configurable, forcing teams to implement idempotency at the subscriber level for all use cases. The introduction of delivery policies and dead-letter queues shifted reliability responsibility back to the messaging layer.

Dead-letter queue configuration

When all retry attempts exhaust without successful delivery, messages route to a configured dead-letter queue (DLQ) for later analysis and reprocessing. DLQ configuration occurs at the subscription level, not the topic level, enabling different failure handling strategies per subscriber. The DLQ must be an SQS queue in the same AWS account and region as the SNS subscription.

Effective DLQ strategies include setting up CloudWatch alarms on queue depth, implementing automated replay mechanisms for transient failures, and maintaining separate DLQs per subscription to isolate failure domains. The IAM resource-based policy on the DLQ must grant sqs:SendMessage permission to the SNS service principal. Understanding delivery mechanics leads naturally to broader resilience patterns for surviving regional failures.

Resilience patterns and disaster recovery

SNS provides inherent durability by storing messages across multiple Availability Zones within a region. However, regional failures require explicit architectural planning. Cross-region disaster recovery for SNS-based systems typically follows one of three patterns, each with distinct trade-offs in complexity, cost, and recovery time objectives.

The active-passive pattern maintains a standby topic in a secondary region with subscriptions pre-configured but disabled. During failover, you update publisher endpoints and enable secondary subscriptions. This approach minimizes steady-state cost but introduces recovery time measured in minutes. The active-active pattern publishes messages to topics in multiple regions simultaneously, with subscribers in each region processing independently. This eliminates recovery time but requires idempotent subscribers and increases messaging costs proportionally.

Cross-region disaster recovery architecture with active-active SNS topics and global deduplication

Archive and replay policies

The 2024 introduction of archive and replay capabilities for SNS topics addresses a long-standing gap in event sourcing architectures. By configuring an ArchivePolicy on a topic, messages are retained for a specified duration (up to 365 days), enabling replay to new or existing subscriptions. The ReplayPolicy specifies the time window for replay operations, allowing subscribers to reprocess historical messages after deployment changes or failure recovery.

Pro tip: Archive and replay works exceptionally well for blue-green deployments of subscriber services. Deploy the new version, replay the last hour of messages to validate processing, then cut over traffic with confidence that no events were missed during the transition.

These resilience mechanisms add operational complexity and cost, making it essential to understand the pricing model before committing to specific patterns.

Cost optimization and pricing analysis

SNS pricing follows a request-based model with additional charges for specific delivery types. The base cost of $0.50 per million publish requests, while FIFO topics use a different pricing model that includes publish requests, subscription deliveries, and payload-based charges. However, total cost varies dramatically based on subscriber composition. HTTP/HTTPS deliveries incur $0.60 per million, while SQS deliveries cost $0.00 (included in SQS pricing). SMS and mobile push notifications carry significantly higher per-message costs that vary by destination country and carrier.

Cost optimization strategies for high-volume SNS implementations include:

  • Message batching: Using PublishBatchRequest to send up to 10 messages per API call reduces request counts by up to 90%.
  • Filter policies: Implementing subscription filter policies prevents unnecessary deliveries to subscribers that would discard messages anyway.
  • Payload optimization: Compressing message bodies and using the claim-check pattern for large payloads reduces data transfer costs.
  • Regional consolidation: Centralizing topics in cost-effective regions when latency requirements permit.

Watch out: Data transfer charges for cross-region message delivery can exceed SNS request costs for high-volume topics. A topic in us-east-1 delivering to subscribers in ap-southeast-1 incurs $0.09 per GB of data transferred, which accumulates rapidly at scale.

With cost structures understood, the final operational consideration involves monitoring SNS performance and implementing observability best practices.

Monitoring, security, and operational best practices

Effective SNS monitoring combines CloudWatch metrics, CloudTrail logging, and application-level instrumentation. The critical metrics to alarm on include NumberOfMessagesPublished, NumberOfNotificationsFailed, PublishSize, and SMSSuccessRate. For FIFO topics, monitor NumberOfMessagesFilteredOut to validate filter policy effectiveness and identify potential message loss from overly aggressive filtering.

Security hardening for SNS topics requires a defense-in-depth approach combining IAM resource-based policies, KMS encryption, and VPC endpoints. The following security checklist represents production-grade configuration:

  1. Enable server-side encryption using AWS KMS customer managed keys for sensitive message content.
  2. Configure IAM resource-based policies restricting sns:Publish to specific principals and source VPCs.
  3. Deploy VPC endpoints for SNS to eliminate public internet exposure for publishers within your VPC.
  4. Enable CloudTrail logging for all SNS API calls to maintain audit trails.
  5. Implement subscription confirmation for HTTP/HTTPS endpoints to prevent unauthorized subscription attacks.
Production CloudWatch dashboard for SNS topic monitoring and alerting

Real-world context: A fintech company reduced their SNS-related security incidents by 94% after implementing VPC endpoints and restricting publish permissions to specific IAM roles. The configuration change took two hours but eliminated an entire category of attack surface.

Conclusion

AWS SNS has evolved from a simple notification service into a sophisticated messaging backbone capable of supporting enterprise-scale event-driven architectures. The 2025 high-throughput FIFO mode eliminates the historical trade-off between ordering guarantees and scalability. Archive and replay capabilities enable event sourcing patterns previously requiring additional infrastructure. Understanding regional quota variations, delivery retry semantics, and dead-letter queue configurations separates production-ready implementations from tutorial-level deployments.

For senior engineers and architects, the key insight is that SNS design decisions cascade through your entire system. Topic type selection impacts subscriber flexibility. Message group design determines throughput ceilings. Retry policy configuration defines your failure domain boundaries. As serverless and event-driven patterns continue dominating modern architectures, deep SNS expertise becomes increasingly valuable for interviews and production system ownership.

Start by auditing your existing SNS topics against the quotas table and security checklist in this guide. Then progressively adopt high-throughput FIFO and archive policies where your use cases demand them.