Content deleted Content added
mNo edit summary |
m cite repair; |
||
Line 11:
==API==
Amazon provides SDKs in several programming languages, including:<ref name="awssdk">{{cite web |url=https://docs.aws.amazon.com/sdkref/latest/guide/overview.html |title=AWS SDKs and Tools |author=AWS |date=2024 |
*[[C++]]
Line 30:
[[Amazon Simple Queue Service|Amazon SQS]] FIFO and Azure Service Bus sessions are queue-based messaging systems that provide ordering guarantees within a message group or session attempt but do not necessarily guarantee ordered delivery in cases of retries or failures. In SQS FIFO, messages in the same message group are processed in order, with subsequent messages held until the preceding message is successfully processed or moved to the dead-letter queue (DLQ). Once a message is placed in the DLQ, it is no longer retried, creating a gap in the sequence. However, the remaining messages continue to be delivered in order.<ref>{{Cite web |title=FIFO queue delivery logic in Amazon SQS - Amazon Simple Queue Service |url=https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html |access-date=2025-03-22 |website=docs.aws.amazon.com}}</ref><ref>{{Cite web |title=Using dead-letter queues in Amazon SQS - Amazon Simple Queue Service |url=https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html |access-date=2025-03-22 |website=docs.aws.amazon.com}}</ref><ref>{{Cite web |title=Amazon SQS FIFO queues - Amazon Simple Queue Service |url=https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-fifo-queues.html |access-date=2025-03-22 |website=docs.aws.amazon.com}}</ref>
[[Microsoft Azure|Azure]] Service Bus sessions function similarly by maintaining ordering within a session, provided a single consumer processes messages sequentially. The implementation differs from SQS FIFO but follows the same fundamental ordering principle.
In contrast, [[Apache Kafka]] is a distributed log-based messaging system that guarantees ordering within individual partitions rather than across the entire topic. Unlike queue-based systems, Kafka retains messages in a durable, append-only log, allowing multiple consumers to read at different offsets. Kafka uses manual offset management, giving consumers control over retries and failure handling. If a consumer fails to process a message, it can delay committing the offset, preventing further progress in that partition while other partitions remain unaffected. This partition-based design enables fault isolation and parallel processing while allowing ordering to be maintained within partitions, depending on consumer handling.<ref>{{Cite book |last=Narkhede |first=Neha
==Message delivery==
Line 52:
| archive-url=https://web.archive.org/web/20161128083030/http://techblog.netflix.com/2011/04/more-like-this-building-network-of.html
| archive-date=2016-11-28
*[[Nextdoor]]<ref>{{Cite web
| url=https://engblog.nextdoor.com/nextdoor-taskworker-simple-efficient-amp-scalable-ac4f7886957b
|