Decoupling applications: SQS, SNS, Kinesis, Active MQ Flashcards
AWS messaging service that creates queues which producers post messages to it and consumers poll messages from it
Amazon Simple Queue Service (SQS)
This term describes the period where an SQS message will appear invisible to other consumers while one consumer is processing the message
SQS - Message Visibility Timeout
This API can be called if a consumer needs more time to process a message from an SQS Queue
ChangeMessageVisibility
If you want to manage the size of an ASG of consumers based on the number of messages in an SQS Queue, you can use this default CloudWatch metric
ApproximateNumberOfMessages
A way to optimize the number of API calls made to an SQS queue that also decreases latency
Enabling Long Polling on SQS queues
SQS Queue type to use if you need to preserve the order of the messages and eliminate duplicates
FIFO Queue
Use case for an SQS queue that allows you to handle spikes in traffic that could be limited by database insertion throughput
SQS as a buffer to database writes
AWS Messaging service that enables a pub/sub architecture
Simple Notification Service (SNS)
What are the available protocols for a SNS subscription?
Amazon Kinesis Data Firehose, Amazon SQS, AWS Lambda, Email, Email-JSON, HTTP, HTTPS, SMS
Serverless streaming data service that makes it easy to capture, process, and store data streams at any scale
Amazon Kinesis Data Streams
What are the three AWS services that Kinesis Data Firehose can send data to?
AWS S3
AWS Redshift
AWS ElasticSearch
A fully managed service for delivering real-time streaming data to destinations
Kinesis Data Firehose
You have an SQS Queue where each consumer polls 10 messages at a time and finishes processing them in 1 minute. After a while, you noticed that the same SQS messages are received by different consumers resulting in your messages being processed more than once. What should you do to resolve this issue?
Increase the Visibility Timeout
You have 3 different applications that you’d like to send them the same message. All 3 applications are using SQS. What is the best approach would you choose?
Use SNS + SQS Fan Out Pattern
You have a Kinesis data stream with 6 shards provisioned. This data stream usually receiving 5 MB/s of data and sending out 8 MB/s. Occasionally, your traffic spikes up to 2x and you get a ProvisionedThroughputExceeded exception. What should you do to resolve the issue?
Add more Shards