Overview
Unlimited Throughput and unlimited number of message in queue.
Default retention days minimum 4 days and maximum is 14days(anything exceeded to that retention day will be automatically deleted)
Low latency.
1024KB per message sent.
Can have duplicate messages, can have out of order messages.
Consumer side
Consumer have to delete the message using delete API. It won't be deleted automatically.
Security
Transit Encryption is enabled by default.
Can be encrypted on the fly for HTTP API (KMS, SSE-SQS)
Can be encrypted at rest using KMS keys
Client side encryption is also available if the client want
Can use IAM policies to regulate the SQS API
Access policies
- Cross account access to SQS queues.
- Useful for other services (SNS, S3 and so on)
Visibility Timeout
This timeout set the message inside the SQS won't be able to see a certain period after the consumer polled. Within that time frame the consumer must be use that message and delete that. If the consumer wasn't able to delete the message, the message will be put back to the queue. Consumer can call change message visibility api to get more time. The visibility time must be a reasonable time not too long not too short.
Long Polling
We can set this to let consumer to wait for messages to arrive if there is no messages in the queue. Long polling decreases the number of API calls and increases the efficiency. Long polling time is 1 second and 20 seconds.
FIFO Queue
Ordering of messages in the queue.
Messages are processed in order by consumer.
Note
ASG can be used with SQS.