Amazon SQS

Amazon SQS is a fully managed message queue service in Amazon Web Services that enables asynchronous communication between different parts of an application.

It helps decouple components so they can work independently and reliably.

1. Why SQS is Needed

In modern applications, multiple services communicate with each other.

Without a queue:

Service A → directly calls → Service B

If Service B fails or is overloaded, the request is lost.

With SQS:

Service A → Queue (SQS) → Service B

Now:

This prevents data loss and improves scalability.

2. Core Components of SQS

1. Producer

The service that sends messages to the queue.

Example:

2. Queue

Temporary storage for messages.

Example message:

{
 "order_id": 12345,
 "product": "Laptop",
 "quantity": 1
}

3. Consumer

The service that reads and processes messages from the queue.

Example:

3. How SQS Works (Step-by-Step)

Flow:

Application

SQS Queue

Worker Service / Lambda

Process Task

4. Types of SQS Queues

1. Standard Queue

Features:

Best for:

Example:

2. FIFO Queue (First-In-First-Out)

Features:

Best for:

Example:

Order 1 → Processed first

Order 2 → Processed second

Order 3 → Processed third

5. Important SQS Concepts

Message

A unit of data sent to the queue.

Maximum size:

256 KB

Example:

"Send email to user"

Visibility Timeout

When a consumer receives a message:

Example:

Worker receives message
Visibility Timeout = 30 seconds

If processing completes → message deleted
If not → message becomes visible again.

Message Retention Period

Time SQS stores messages.

Range:

1 minute → 14 days

Dead Letter Queue (DLQ)

Used for messages that fail processing multiple times.

Example:

Main Queue → Processing fails → Retry → Retry → Retry

Dead Letter Queue

This helps in debugging failed tasks.

6. Integration with Other AWS Services

SQS works with many AWS services:

Example architecture:

User uploads image

S3 Event

SQS Queue

Lambda Function

Image Processing

7. Real-World Example

E-commerce Order Processing

User places an order.

Flow:

User

Web Application

Send message to SQS

Order Processing Service

Payment Service

Email Service

Benefits:

8. Advantages of SQS

✅ Decouples microservices

✅ Highly scalable

✅ Reliable message delivery

✅ Fully managed by AWS

✅ Handles millions of messages

9. Simple Visual Architecture

Producer (Web App)

SQS
Message Queue

Consumers
(EC2 / Lambda Workers)

Process Tasks

✅ One-line definition for interviews:

Amazon SQS is a fully managed message queue service that enables asynchronous communication between distributed application components.