Standard Queue
- Oldest and most widely used SQS type.
- Unlimited throughput and number of messages.
- Low latency: typically < 10 ms for publishing and receiving.
- Message size limit: up to 256 KB.
- Retention: 4 days by default, configurable up to 14 days.
- Delivery semantics:
- At-least-once delivery → duplicates possible.
- Best-effort ordering → messages may arrive out of order.
FIFO Queue
- Must have a .fifo suffix in the queue name.
- Ensures First-In-First-Out delivery order.
- Exactly-once processing (no duplicates).
- Ordering is maintained using a Message Group ID (required for each message).
- Deduplication ID prevents the same message from being enqueued more than once within the deduplication interval.
- Throughput:
- Up to 300 messages/sec without batching
- Up to 3,000 messages/sec with batching
- Ideal for order-sensitive workloads such as financial transactions or sequential workflows.
You cannot convert an existing Standard queue into a FIFO queue. You must create a new FIFO queue and migrate producers/consumers to it.