Intro
- Used to asynchronously decouple applications
- Supports multiple producers & consumers
- The consumer polls the queue for messages. Once a consumer processes a message, it deletes it from the queue using
DeleteMessage
API.
- Unlimited number of messages in queue
- Max 10 messages received per batch (configured using
MaxNumberOfMessages
parameter in the ReceiveMessage
API)
- Max message size: 256 KB
- Default message retention: 4 days (max: 14 days)
- Consumers could be EC2 instances or Lambda functions
- Queue type cannot be changed once created
<aside>
💡 SQS cannot ingest data, it must be sent to the queue by the producer (use KDS or KDF instead)
</aside>
Queue Types
Standard Queue
- Unlimited throughput (publish any number of message per second into the queue)
- Low latency (<10 ms on publish and receive)
- Can have duplicate messages (at least once delivery)
- Can have out of order messages (best effort ordering)
FIFO Queue