Amazon Simple Queue Service (SQS) is a managed message queue service from AWS.
It is used to decouple producers and consumers by letting messages sit in a queue until a consumer is ready to process them.
Why people use it
SQS is useful when you want:
- Durable asynchronous work queues
- Buffering for bursty traffic
- Retry handling
- Integration with AWS Lambda
- A managed alternative to running your own queue broker
Common pieces
- Producers send messages to a queue
- Consumers poll the queue and process messages
- Visibility timeouts keep messages from being processed by multiple consumers at once
- Dead Letter Queue support handles messages that keep failing
Compare
SQS is closer to RabbitMQ than to Kafka.
- RabbitMQ gives you a broker with richer routing and exchange semantics
- Kafka gives you durable log-based streaming and replay
- SQS gives you managed queue semantics with less operational overhead