Topics are logical access point and communication channel within SNS
Topics can be encrypted via KMS
Subscribers are endpoints that receive message for topic. When a topic received a message it automatically and immediately pushes messages to subscribers
SNS supports notification over multiple protocols:
HTTP/HTTPS - Subscribers specify a URL as part of the subscription registration
Email/Email Json - Messages are sent to registered address as email
SQS - User can specify an SQS standard queue as the endpoint
SMS - Messages are sent to registered phone number as SMS text messages
Amazon Simple Queue Service (SQS)
SQS provides fully managed, highly available message queuing service for inter-process /service /service messaging
SQS is used for application integration, it lets decouple different systems
SQS supports both Standard and FIFO Queues
Standard queues are distributed and scalable to nearly unlimited message volume. The order is not guaranteed, best-effort only, and messages are guaranteed to be delivered at least once but sometimes more than once.
FIFO queues ensure first-in,first-out delivery. Messages are delivered once only - duplicates do not occur. The throughput is limited to ~ 3,000 messages per second with batching or ~300 without by default.
There are two types of polling
Short Polling - Available messages are returned immediately, even if the message queue being polled is empty
Long Polling - Waits for message for a given WaitTimeSeconds (More Efficient)
Each SQS message can contain up to 256KB of data but can link data stored in S3 for any larger payloads
Visibility time-out is the period of time that messages are invisible in the SQS queue
Messages will be deleted from queue after a job has processed
When a message is polled, it is hidden in the queue. It can be deleted when processing is completed - otherwise, after a VisibilityTimeout period, it will return to the queue
The default Visibility time-out is 30 seconds. Timeout can be 0 seconds to a maximum of 12 hours.
Retention period of SQS can be from 60 seconds to 14 days (Default is 4 Days)
Message size is between 1 byte to 256 kB, Extended Client Library for Java can increase to 2 GB
AWS Step Functions
Step Functions are Serverless visual workflow service that provides state machines
A state machine can orchestrate other AWS services with simple logic, branching, and parallel execution, and it maintains a state
Workflow steps are known as states, and they can perform work via tasks
State machines maintain state and allow longer running processes.