AWS SQS is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications.
Standard Queues: Infinite throughput, but no guarantee of order (at-least-once delivery).
FIFO Queues: Guaranteed 'First-In-First-Out' order and exactly-once processing, but limited to 3,000 messages per second.
If a message fails to process after multiple attempts (e.g., your .NET code throws an exception), SQS can move it to a **DLQ**. This prevents one bad message from 'clogging' your main queue and allows you to debug the failure later without losing data.
Q: "How do I handle 'Visibility Timeout'?"
Architect Answer: "When a worker picks up a message, SQS makes it 'Invisible' to other workers for a set time (e.g., 30 seconds). If your .NET processing takes longer than that, SQS will put the message back on the queue and another worker will try to process it, leading to duplicates. Always ensure your **Visibility Timeout** is at least 6x your average processing time to avoid 'Ghost' messages."