← All writing2026.09.16 · SAA-C03 · AWS Solutions Architect Associate

AWS Messaging and Serverless: Design Delivery Semantics First

Separate queues, pub/sub, streams and orchestration before connecting Lambda, API Gateway and event-driven workloads.

Before choosing a messaging service, answer: one consumer or many, work queue or replayable history, required ordering, tolerated duplicates, throughput, and retention.

Need Start with
Buffer work for competing consumers SQS
Push one event to many subscribers SNS
Ordered replayable event stream Kinesis Data Streams
Deliver buffered streams to destinations Data Firehose
Route application/SaaS/AWS events by rules EventBridge
Existing ActiveMQ/RabbitMQ protocol Amazon MQ

SQS Standard is highly scalable with at-least-once delivery and best-effort ordering. Make consumers idempotent. FIFO adds ordering within message groups and deduplication semantics at lower throughput constraints. Visibility timeout must exceed processing or be extended; repeated failures belong in a DLQ with a deliberate redrive policy.

SNS fan-out commonly publishes to separate SQS queues so each consumer gets independent buffering and retries. EventBridge is better when routing rules, SaaS integration, schemas, or event buses are central.

Serverless still has state and failure

Lambda synchronous, asynchronous, and poll-based invocations retry differently. Reserved concurrency protects capacity; provisioned concurrency reduces cold-start latency. Putting Lambda in a VPC is for access to VPC resources, not general performance. Use RDS Proxy to avoid connection storms.

API Gateway provides managed HTTP/WebSocket entry, authentication, throttling, and endpoint types. Step Functions owns workflow state, retries, branching, and compensation; SQS owns durable work buffering. Cognito User Pools authenticate users; Identity Pools exchange identities for AWS credentials.

Exam lens: “exactly once” is not created by choosing FIFO alone. The producer, broker, consumer, state change, and retry path must agree.

Review card

  • Queue distributes work; topic fans out; stream retains ordered records.
  • SQS consumers must handle duplicates.
  • DLQ is diagnosis and isolation, not automatic recovery.
  • EventBridge routes events; Step Functions coordinates workflow state.
  • Design retries and idempotency before adding Lambda.