Welcome to ExamTopics
ExamTopics Logo
- Expert Verified, Online, Free.
exam questions

Exam AWS Certified Solutions Architect - Associate SAA-C03 All Questions

View all questions & answers for the AWS Certified Solutions Architect - Associate SAA-C03 exam

Exam AWS Certified Solutions Architect - Associate SAA-C03 topic 1 question 207 discussion

A company owns an asynchronous API that is used to ingest user requests and, based on the request type, dispatch requests to the appropriate microservice for processing. The company is using Amazon API Gateway to deploy the API front end, and an AWS Lambda function that invokes Amazon DynamoDB to store user requests before dispatching them to the processing microservices.

The company provisioned as much DynamoDB throughput as its budget allows, but the company is still experiencing availability issues and is losing user requests.

What should a solutions architect do to address this issue without impacting existing users?

  • A. Add throttling on the API Gateway with server-side throttling limits.
  • B. Use DynamoDB Accelerator (DAX) and Lambda to buffer writes to DynamoDB.
  • C. Create a secondary index in DynamoDB for the table with the user requests.
  • D. Use the Amazon Simple Queue Service (Amazon SQS) queue and Lambda to buffer writes to DynamoDB.
Show Suggested Answer Hide Answer
Suggested Answer: D 🗳️

Comments

Chosen Answer:
This is a voting comment (?) , you can switch to a simple comment.
Switch to a voting comment New
pentium75
Highly Voted 9 months, 3 weeks ago
Selected Answer: D
A does not meet the "without impacting existing users" requirement B does not help with writing (DAX caches reads) C does not help with writing (index could increase read performance only) D decouples writing from front-end, which is acceptable because it is "an asynchronous API" anyway
upvoted 13 times
...
nder
Highly Voted 1 year, 7 months ago
Selected Answer: D
The key here is "Losing user requests" sqs messages will stay in the queue until it has been processed
upvoted 10 times
...
lofzee
Most Recent 4 months, 2 weeks ago
Selected Answer: D
D bro. Believe
upvoted 2 times
...
Guru4Cloud
1 year, 1 month ago
Selected Answer: D
This solution can handle bursts of incoming requests more effectively and reduce the chances of losing requests due to DynamoDB capacity limitations. The Lambda can be configured to retrieve messages from the SQS and write them to DynamoDB at a controlled rate, allowing DynamoDB to handle the requests within its provisioned capacity. This approach provides resilience to spikes in traffic and ensures that requests are not lost during periods of high demand.
upvoted 4 times
...
cookieMr
1 year, 3 months ago
Selected Answer: D
This solution can handle bursts of incoming requests more effectively and reduce the chances of losing requests due to DynamoDB capacity limitations. The Lambda can be configured to retrieve messages from the SQS and write them to DynamoDB at a controlled rate, allowing DynamoDB to handle the requests within its provisioned capacity. This approach provides resilience to spikes in traffic and ensures that requests are not lost during periods of high demand. A. It limits can help control the request rate, but it may lead to an increase in errors and affect the user experience. Throttling alone may not be sufficient to address the availability issues and prevent the loss of requests. B. It can improve read performance but does not directly address the availability issues and loss of requests. It focuses on optimizing read operations rather than buffering writes. C. It may help with querying the user requests efficiently, but it does not directly solve the availability issues or prevent the loss of requests. It is more focused on data retrieval rather than buffering writes.
upvoted 3 times
...
studynoplay
1 year, 5 months ago
Selected Answer: D
DAX is for reads
upvoted 3 times
smartegnine
1 year, 4 months ago
DAX is not ideal for the following types of applications: Applications that require strongly consistent reads (or that cannot tolerate eventually consistent reads). Applications that do not require microsecond response times for reads, or that do not need to offload repeated read activity from underlying tables. Applications that are write-intensive, or that do not perform much read activity. Applications that are already using a different caching solution with DynamoDB, and are using their own client-side logic for working with that caching solution.
upvoted 2 times
...
...
dark_firzen
1 year, 8 months ago
Selected Answer: D
D because SQS is the cheapest way. First 1,000,000 requests are free each month. Question states: "The company provisioned as much DynamoDB throughput as its budget allows"
upvoted 3 times
...
Wajif
1 year, 9 months ago
Selected Answer: D
D is more likely to fix this problem as SQS queue has the ability to wait (buffer) for consumer to notify that the request or message has been processed.
upvoted 1 times
...
Buruguduystunstugudunstuy
1 year, 9 months ago
Selected Answer: D
To address the issue of lost user requests and improve the availability of the API, the solutions architect should use the Amazon Simple Queue Service (Amazon SQS) queue and Lambda to buffer writes to DynamoDB. Option D (correct answer) By using an SQS queue and Lambda, the solutions architect can decouple the API front end from the processing microservices and improve the overall scalability and availability of the system. The SQS queue acts as a buffer, allowing the API front end to continue accepting user requests even if the processing microservices are experiencing high workloads or are temporarily unavailable. The Lambda function can then retrieve requests from the SQS queue and write them to DynamoDB, ensuring that all user requests are stored and processed. This approach allows the company to scale the processing microservices independently from the API front end, ensuring that the API remains available to users even during periods of high demand.
upvoted 4 times
...
alect096
1 year, 9 months ago
Selected Answer: B
I would go to B : https://aws.amazon.com/es/blogs/database/amazon-dynamodb-accelerator-dax-a-read-throughwrite-through-cache-for-dynamodb/
upvoted 1 times
ruqui
1 year, 3 months ago
That's wrong. The document you mentioned explained it very clearly: "Whereas both read-through and write-through caches address read-heavy workloads, a write-back (or write-behind) cache is designed to address write-heavy workloads. Note that DAX is not a write-back cache currently"
upvoted 2 times
...
...
BENICE
1 year, 10 months ago
D is correct answer
upvoted 1 times
...
NikaCZ
1 year, 10 months ago
Selected Answer: D
D. Use the Amazon Simple Queue Service (Amazon SQS) queue and Lambda to buffer writes to DynamoDB.
upvoted 1 times
...
career360guru
1 year, 10 months ago
Selected Answer: D
Option D is right answer
upvoted 1 times
...
alexfk
1 year, 10 months ago
Why not B? DAX. "When you’re developing against DAX, instead of pointing your application at the DynamoDB endpoint, you point it at the DAX endpoint, and DAX handles the rest. As a read-through/write-through cache, DAX seamlessly intercepts the API calls that an application normally makes to DynamoDB so that both read and write activity are reflected in the DAX cache." https://aws.amazon.com/es/blogs/database/amazon-dynamodb-accelerator-dax-a-read-throughwrite-through-cache-for-dynamodb/
upvoted 1 times
ruqui
1 year, 3 months ago
B is wrong because of this: "Whereas both read-through and write-through caches address read-heavy workloads, a write-back (or write-behind) cache is designed to address write-heavy workloads. Note that DAX is not a write-back cache currently"
upvoted 1 times
...
AgboolaKun
1 year, 6 months ago
It is not DAX because of the company's budget restriction associated with the DynamoDB. This is a requirement in the question. DynamoDB charges for DAX capacity by the hour and your DAX instances run with no long-term commitments. Please refer to: https://aws.amazon.com/dynamodb/pricing/provisioned/#.E2.80.A2_DynamoDB_Accelerator_.28DAX.29
upvoted 2 times
...
...
akosigengen
1 year, 10 months ago
yeah I though the answer is also DAX.
upvoted 1 times
...
leonnnn
1 year, 10 months ago
Selected Answer: D
Using SQS should be the answer.
upvoted 3 times
nVizzz
1 year, 10 months ago
Why not DAX? Could somebody explain?
upvoted 1 times
Rameez1
1 year, 10 months ago
DAX helps in reducing the read loads from DynamoDB, here we need a solution to handle write requests, which is well handled by SQS and Lamda to buffer writes on DynamoDB.
upvoted 4 times
...
bmofo
1 year, 10 months ago
key noted issue is "losing user requests" which is resolved with SQS
upvoted 5 times
...
Buruguduystunstugudunstuy
1 year, 9 months ago
Using DynamoDB Accelerator (DAX) and Lambda to buffer writes to DynamoDB, may improve the write performance of the system, but it does not provide the same level of scalability and availability as using an SQS queue and Lambda. Hence, Option B is incorrect.
upvoted 1 times
...
...
...
jambajuice
1 year, 10 months ago
Selected Answer: D
Answer d
upvoted 2 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...