Application Services - SQS Flashcards
What is SQS?
web service that allows you to access a message queue that can be used to store messages while waiting for a computer to process them.
distributed queue system that enables web services apps to quickly and reliably queue messages that one component in the app generates to be consumed by another component
What is a queue?
temporary repository for messages that are awaiting processing
Example:
Image is uploaded to web app, web app alerts SQS that image has been uploaded and a job needs to be executed on it. app servers may queue SQS system and notice new job that comes in and access that image and perform a task. app servers will update queue and remove message from the queue
What is meant by decoupling/loosely coupling in SQS?
If web server goes down, for example, message is still in SQS and app servers not affected
T/F: Using SQS, you can decouple the components of an app so they run independently, with SQS easing message management between components.
True
Can any component of a distributed app store messages in a fail-safe queue?
Yes
How much text can be contained in a message?
256 KB, any format
How can a component retrieve messages?
with the SQS API
The queue acts as
a buffer between the component producing and saving data and the component receiving the data for processing.
The queue resolves…
…issues that arise if the producer is producing work faster than the consumer can process it, or if the producer or consumer are only intermittently connected to the network
How many times does SQS deliver each message?
at least once
How many readers and writers can interact with the same queue?
multiple
How many components can a single queue interact with?
Many, simultaneously.
Do components need to coordinate with each other to share the queue?
No
SQS is engineered to
always be available and deliver messages