/plushcap/analysis/ably/sqs-fifo-queues-message-ordering-and-exactly-once-processing-guaranteed

SQS FIFO Queues: Message Ordering and Exactly-Once Processing Guaranteed?

What's this blog post about?

Converting a distributed system to FIFO and exactly-once message processing using Amazon's SQS FIFO queues requires considerable user effort, as the implementation does not guarantee these properties for the entire system. While SQS FIFO queues ensure in-order and exactly-once processing within the queue itself, additional assumptions need to be satisfied for this to apply across the entire distributed system. These include a single, synchronous producer/sender and consumer/receiver transmitting data over a synchronous transport layer. Adding asynchronicity to any part of the system removes the ordering guarantee. Additionally, SQS FIFO queues introduce two limits that make it impossible to guarantee exactly-once processing in all possible cases: a max 5 minutes timeout on storing a given message deduplication ID and the kind of “exactly-once” guarantee it gives to the consumer/receiver. To achieve system-wide FIFO message delivery and exactly-once processing, developers must implement additional restrictions on the distributed system or use other tools in conjunction with SQS FIFO queues.

Company
Ably

Date published
Aug. 21, 2019

Author(s)
Tsviatko Yovtchev

Word count
1575

Language
English

Hacker News points
None found.


By Matt Makai. 2021-2024.