Amazon Simple Queue Service: Difference between revisions

Content deleted Content added
m cite repair;
 
Line 27:
A [[Java Message Service]] (JMS) 1.1 client for Amazon SQS was released in December 2014.{{fact|date=May 2024}}
 
== Operation ==
== Comparison with Other Messaging Systems ==
[[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.<ref>{{Cite web |last=spelluru |date=2025-03-21 |title=Azure Service Bus message sessions - Azure Service Bus |url=https://learn.microsoft.com/en-us/azure/service-bus-messaging/message-sessions |access-date=2025-03-22 |website=learn.microsoft.com |language=en-us}}</ref><ref>{{Cite web |last=spelluru |date=2025-02-07 |title=Service Bus dead-letter queues - Azure Service Bus |url=https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dead-letter-queues |access-date=2025-03-22 |website=learn.microsoft.com |language=en-us}}</ref>
 
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 |title=Kafka: the definitive guide: real-time data and stream processing at scale |last2=Shapira |first2=Gwen |last3=Palino |first3=Todd |date=2017 |publisher=O'Reilly Media |isbn=978-1-4919-3616-0 |___location=Sebastopol, CA |oclc=933521388}}</ref>
 
==Message delivery==