A serverless system uses a BeginResponse Lambda function that initializes data; afterward many Lambda functions must run in parallel, each depending only on the outputs from BeginResponse. Each downstream Lambda requires retryable invocations and independent concurrency control without losing messages. Which design provides the most operationally efficient solution?
Choose an answer
Tap an option to check your answer.
Correct answer: Create a separate Amazon SQS queue for each downstream Lambda. Subscribe each Lambda to its own SQS queue. Create an Amazon SNS topic and subscribe each SQS queue to that SNS topic. Have the BeginResponse Lambda publish to the SNS topic when it completes..
Why this is the answer
This design is most operationally efficient because it leverages SNS for fan-out to multiple SQS queues, satisfying the requirement for parallel execution and independent concurrency control. Each SQS queue acts as a buffer, ensuring retryable invocations and preventing message loss if a downstream Lambda fails or is throttled. SQS also provides built-in dead-letter queue functionality for unprocessable messages. Option 1 (SNS directly to Lambdas) lacks independent concurrency control and retry mechanisms for individual Lambdas, as SNS retries are limited and shared. Option 3 (separate SNS topics for each SQS queue) introduces unnecessary complexity and overhead by requiring multiple SNS topics instead of a single fan-out point. Option 4 (Step Functions with sequential execution) contradicts the requirement for parallel execution and adds orchestration complexity that isn't needed for simple fan-out.
Pass your exam — without the endless answer hunt
Get every verified question and explanation for this exam in one place, and save hours of prep. 1,000+ certifications · 20+ languages · free to start.
Pass your exam faster → No card needed