- [[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/