- [[AWS SQS]]
### General
---
- supports asynchronous communication
- serves as buffer
- input services aka producers create messages that are added to the [[Queues|Queue]]
- consumer services connected to the [[Queues|Queue]] and perform actions defined by the messages
![[Pasted image 20250126155727.png|300]]
- producers get to post messages to [[Queues|Queue]] even when consumers are unavailable
- moreover, consumers can read messages from [[Queues|Queue]] even when producer is unavailable
- this allows producers and consumers to be scaled independently too
- when size of [[Queues|Queue]] becomes large, more consumers are added to reduce processing time
- if it's usually empty though, you can reduce the number of consumers
- is a one to one communication model, unlike [[PubSub]]
### Benefits for [[Distributed Systems]]
---
- removes dependencies between components
- applications focus on interacting with queue, rather than each other, more decoupled
- keeps data persistent
- resilient when different parts of system go offline
-
https://aws.amazon.com/message-queue/benefits/