Medium1 markMultiple Choice
Domain 2.3: Decoupling MechanismsSNSSQSDecouplingFanout

AWS SAA-C03 · Question 31 · Domain 2.3: Decoupling Mechanisms

An application allows users to upload images. When an image is uploaded, three separate backend processes need to run: generating a thumbnail, extracting metadata, and running image recognition. These processes take different amounts of time to complete.<br/><br/>Which architectural pattern should a solutions architect use to decouple these processes MOST effectively?

Answer options:

A.

Send the upload event to a single Amazon SQS queue. Have all three processes poll the same queue.

B.

Publish the upload event to an Amazon SNS topic. Subscribe three separate Amazon SQS queues to the topic, one for each process.

C.

Use AWS Step Functions to run the three processes sequentially.

D.

Store the event in Amazon ElastiCache and have the processes read from it.

How to approach this question

Recognize the 'fanout' pattern for parallel asynchronous processing.

Full Answer

B.Publish the upload event to an Amazon SNS topic. Subscribe three separate Amazon SQS queues to the topic, one for each process.✓ Correct
Publish the upload event to an Amazon SNS topic. Subscribe three separate Amazon SQS queues to the topic, one for each process.
The 'fanout' scenario is when an Amazon SNS topic is used to replicate and push messages to multiple Amazon SQS queues, HTTP endpoints, or email addresses. This allows for parallel asynchronous processing.

Common mistakes

Thinking multiple workers can read the *same* message from a *single* SQS queue.

Practice the full AWS SAA-C03 Practice Exam 6

65 questions · hints · full answers · grading

More questions from this exam