Topic types
Standard Topics
Standard topics can be used in many scenarios, as long as your application can process messages that arrive more than once and out of order, for example: fanning out messages to media encoding, fraud detection, tax calculation, search index, and critical alerting systems.
Maximum throughput: Standard topics support a nearly unlimited number of messages per
second.
Best-effort ordering: Occasionally, messages might be delivered in an order different from which they were published.
FIFO Topics
FIFO topics are designed to enhance messaging between applications when the order of operations and events is critical, or where duplicates can't be tolerated, for example: fanning out messages to bank transaction logging, stock monitoring, flight tracking, inventory management, and price update systems.
High throughput: FIFO topics support up to 300 messages per second or 10 MB per second per FIFO topic (whichever comes first).
Strict ordering: The order in which messages are published and delivered is strictly preserved (i.e. first-in-first-out).
Best-effort deduplication: A message is delivered at least once, but occasionally more than one copy of a message is delivered.
Multiple subscription types: Messages can be sent to a variety of endpoints (Amazon SQS, Amazon Lambda, HTTPS webhooks, and email).
Message fanout: Each account can support 100,000 Standard topics and each topic supports up to 12.5M subscriptions.
Strict deduplication: Duplicate messages aren't delivered. Deduplication happens within a 5-minute interval, from the message publish time.
SQS FIFO subscriptions: Messages can be sent to FIFO queues.
Message fanout: Each account can support 1,000 FIFO topics and each topic supports up to 100 subscriptions.
Event sources and destinations
Event-driven computing is a model in which subscriber services automatically perform work in response to events triggered by publisher services. This paradigm can be applied to automate workflows while decoupling the services that collectively and independently work to fulfill these workflows.
Amazon SNS is an event-driven computing hub that has native integration with a wide variety of Amazon Web Services event sources and event destinations. For more information, see Amazon SNS event sources and destinations in the Amazon SNS Developer Guide.
Message filtering
Message filtering empowers the subscriber to create a filter policy, so that it only gets the notifications it is interested in, as opposed to receiving every single message posted to the topic. Visit our blog to learn how to simplify your pub/sub messaging with Amazon SNS message filtering and get to know message filtering operators for numeric matching, prefix matching, and anything-but matching in Amazon SNS. Additionally, you may monitor your Amazon SNS message filtering activity with Amazon CloudWatch and manage Amazon SNS filter policies with Amazon CloudFormation.
Message fanout
Message fanout occurs when a message is sent to a topic and then replicated and pushed to multiple endpoints. Fanout provides asynchronous event notifications, which in turn allows for parallel processing.
Message durability
Amazon SNS uses a number of strategies that work together to provide message durability. To start, published messages are stored across multiple, geographically-separated servers and data centers. If a subscribed endpoint isn't available, Amazon SNS executes a message delivery retry policy. To preserve any messages that aren't delivered before the delivery retry policy ends, you can create a dead-letter queue. You can also subscribe Amazon Kinesis Data Firehose delivery streams to SNS topics, which allows messages to be sent to durable endpoints such as Amazon S3 buckets or Amazon Redshift tables.
Message encryption
Amazon SNS provides encrypted topics to protect your messages from unauthorized and anonymous access. When you publish messages to encrypted topics, Amazon SNS immediately encrypts your messages. The encryption takes place on the server, using a 256-bit AES-GCM algorithm and a customer master key (CMK) issued with Amazon Key Management Service (KMS). The messages are stored in encrypted form, and decrypted as they are delivered to subscribing endpoints (Amazon SQS queues, Amazon Kinesis Data Firehose streams, Amazon Lambda functions, HTTP/S webhooks).
Message privacy
Amazon SNS supports VPC Endpoints (VPCE) via Amazon PrivateLink. You can use VPC Endpoints to privately publish messages to Amazon SNS topics, from an Amazon Virtual Private Cloud (VPC), without traversing the public internet. This feature brings additional security, helps promote data privacy, and aligns with assurance programs.
When you use Amazon PrivateLink, you don’t need to set up an Internet Gateway (IGW), Network Address Translation (NAT) device, or Virtual Private Network (VPN) connection. You don’t need to use public IP addresses, either.
You can also deploy Amazon VPC endpoints for Amazon SNS with Amazon CloudFormation.
Message data protection
Amazon SNS message data protection empowers topic owners to define data protection policies that can discover and protect sensitive data that is transmitted via their topics. This can help you to simplify your architecture by offloading data protection logic from your applications, while helping support your compliance objectives. You can audit messages that are inbound to a topic to determine how much sensitive data they contain, prevent them from being delivered to downstream subscribers via blocking, or de-identify specific data in the payload via redaction or masking.
Documentation
Message archiving, replay, and analytics
Amazon SNS provides two distinct options for archiving messages. Firstly, if you publish messages to a FIFO (First-In-First-Out) topic, you can enhance their durability using the in-place storage of FIFO topics. You can set a retention period in your FIFO topic archive policy, which determines how long your messages are stored. This feature allows you to replay your stored messages to either an existing or a new subscription.
On the other hand, for standard topics, Amazon SNS has a seamless integration with Amazon Kinesis Data Firehose, which facilitates the storage of messages in different services such as Amazon S3 or Amazon Redshift. This integration also enables you to connect with third-party analytics services, providing you with the ability analyze your messaging data.
Email messages
Amazon SNS supports sending email via SNS topics.