Section 12: AWS Integration & Messaging: SQS, SNS & Kinesis Flashcards
What are the two patterns of application communication?
Synchronous communications (application to application) Asynchronous / Event based communications (application to queue to application)
Why can synchronous communications between applications be problematic?
If there are sudden spikes of traffic, the destination probably wonโt be able to handle everyhting at once (Ex: An app usually encode 10 videos/hour but now suddenly receives 1000 videos in a short amount time)
What are the three integration and messaging fully managed services by AWS?
SQS
SNS
Kinesis
What is the model of SQS?
Queue model
What is the model of SNS?
Pup/Sub model
What is the model of Kinesis
Real-time streaming model
What are the two types of queue available in SQS?
Standard Queue
FIFO Queue
What name defines the entities sending messages to an SQS queue?
Producers
What name defines the entities consuming messages of an SQS queue?
Consumers
How are messages consumed from an SQS queue?
They are polled by the consumers
How old is the AWS SQS standard queue?
Over 10 years old
What do you have to do in order to scale your standard AWS queue?
Nothing, it scales automatically to 10,000s messages per second
What is the default retention rate of messages in a standard SQS queue?
4 days
What is the maximum retention configurable for messages in an SQS queue?
14 days
What is the limit of how many messages can be in a standard SQS queue?
No limit
What is the latency for SQS queues
< 10ms
Can the number of consumers of an SQS queue scale? If so, on which axis?
Yes, it can scale horizontally
Can a standard SQS queue have duplicate messages?
It can occasionally
Are messages in order in a standard SQS queue?
Not necessarily (best effort ordering is built into the service)
How can you get messages 100% in order in SQS?
Use a FIFO Queue rather than a standard SQS queue
What is the maximum size of messages in an SQS queue?
256KB
How can you add a delay between the moment a message is sent and the moment consumers see the message in an SQS queue?
By adding a delivery delay at the queue level
How can you override the default delivery delay for a certain message sent in an SQS standard queue?
By overriding the default DelaySeconds parameter when sending a message
How can you override the default delivery delay for a certain message sent in an SQS FIFO queue?
You canโt, DelaySeconds is only available in standard queues (It make sense, other FIFO would not be respected)