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 7 discussion

A company has an application that ingests incoming messages. Dozens of other applications and microservices then quickly consume these messages. The number of messages varies drastically and sometimes increases suddenly to 100,000 each second. The company wants to decouple the solution and increase scalability.
Which solution meets these requirements?

  • A. Persist the messages to Amazon Kinesis Data Analytics. Configure the consumer applications to read and process the messages.
  • B. Deploy the ingestion application on Amazon EC2 instances in an Auto Scaling group to scale the number of EC2 instances based on CPU metrics.
  • C. Write the messages to Amazon Kinesis Data Streams with a single shard. Use an AWS Lambda function to preprocess messages and store them in Amazon DynamoDB. Configure the consumer applications to read from DynamoDB to process the messages.
  • D. Publish the messages to an Amazon Simple Notification Service (Amazon SNS) topic with multiple Amazon Simple Queue Service (Amazon SOS) subscriptions. Configure the consumer applications to process the messages from the queues.
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
rein_chau
Highly Voted 2 years ago
Selected Answer: D
D makes more sense to me.
upvoted 51 times
SilentMilli
1 year, 9 months ago
By default, an SQS queue can handle a maximum of 3,000 messages per second. However, you can request higher throughput by contacting AWS Support. AWS can increase the message throughput for your queue beyond the default limits in increments of 300 messages per second, up to a maximum of 10,000 messages per second. It's important to note that the maximum number of messages per second that a queue can handle is not the same as the maximum number of requests per second that the SQS API can handle. The SQS API is designed to handle a high volume of requests per second, so it can be used to send messages to your queue at a rate that exceeds the maximum message throughput of the queue.
upvoted 14 times
...
9014
1 year, 10 months ago
of course, the answer is D
upvoted 3 times
...
daizy
1 year, 8 months ago
D. Publish the messages to an Amazon Simple Notification Service (Amazon SNS) topic with multiple Amazon Simple Queue Service (Amazon SQS) subscriptions. Configure the consumer applications to process the messages from the queues. This solution uses Amazon SNS and SQS to publish and subscribe to messages respectively, which decouples the system and enables scalability by allowing multiple consumer applications to process the messages in parallel. Additionally, using Amazon SQS with multiple subscriptions can provide increased resiliency by allowing multiple copies of the same message to be processed in parallel.
upvoted 14 times
...
...
PhucVuu
Highly Voted 3 weeks, 3 days ago
Selected Answer: D
Keywords: - The number of messages varies drastically - Sometimes increases suddenly to 100,000 each second A: Incorrect - Don't confuse between Kinesis Data Analytics and Kinesis Data Stream =)) Kinesis Data Analytics will get the data from Kinesis Data Stream or Kinesis Data FireHose or MSK (Managed Stream for apache Kafka) for analytic purpose. It can not consume message and send to applications. B: Incorrect - Base on the keywords -> Auto Scaling group not scale well because it need time to check the CPU metric and need time to start up the EC2 and the messages varies drastically. Example: we have to scale from 10 to 100 EC2. Our servers may be down a while when it was scaling. C: Incorrect - Kinesis Data Streams can handle this case but we should increase the more shards but not single shard. D: Correct: We can handle high workload well with fan-out pattern SNS + multiple SQS -> This is good for use case: - The number of messages varies drastically - Sometimes increases suddenly to 100,000 each second
upvoted 14 times
shinejh0528
1 year, 6 months ago
oh... I confused between Kinesis Data Analytics and Kinesis Data Stream as you mentioned... I solved several this type of questions, but SNS is always about 'notification', so i choose A. but i think Kinesis Data Analytics is just wrong, so D is most correct answer.
upvoted 2 times
...
...
Buruguduystunstugudunstuy
Most Recent 3 weeks, 3 days ago
***CORRECT ANSWER*** The correct solution that meets these requirements is Option D: Publish the messages to an Amazon Simple Notification Service (Amazon SNS) topic with multiple Amazon Simple Queue Service (Amazon SQS) subscriptions. Configure the consumer applications to process the messages from the queues. Option D involves using Amazon Simple Notification Service (SNS) and Amazon Simple Queue Service (SQS) to decouple the solution and increase scalability. SNS is a fully managed, publish-subscribe messaging service that allows you to send messages to multiple recipients simultaneously. SQS is a fully managed, distributed message queue service that enables you to store, process, and transmit messages between microservices, distributed systems, and serverless applications.
upvoted 3 times
Buruguduystunstugudunstuy
1 year, 10 months ago
To implement this solution, you would first publish the incoming messages to an SNS topic. You could then create multiple SQS subscriptions to the SNS topic, and configure the consumer applications to process the messages from the queues. This approach allows you to decouple the ingestion application from the consumer applications, and it allows you to scale the number of consumer applications independently of the ingestion application.
upvoted 3 times
Buruguduystunstugudunstuy
1 year, 10 months ago
***WRONG AS EXPLAINED*** Option A involves persisting the messages to Amazon Kinesis Data Analytics and configuring the consumer applications to read and process the messages. This option would not be the most efficient solution, as it would require the consumer applications to continuously poll Kinesis Data Analytics for new messages, which could impact their performance. Option B involves deploying the ingestion application on Amazon EC2 instances in an Auto Scaling group to scale the number of EC2 instances based on CPU metrics. This option would not decouple the solution and increase scalability, as the consumer applications would still be directly connected to the ingestion application.
upvoted 2 times
Buruguduystunstugudunstuy
1 year, 10 months ago
Option C involves writing the messages to Amazon Kinesis Data Streams with a single shard and using an AWS Lambda function to preprocess the messages and store them in DynamoDB. This option would not be the most efficient solution, as it would require the consumer applications to continuously poll DynamoDB for new messages, which could impact their performance. Overall, Option D is the most effective solution for decoupling the solution and increasing scalability.
upvoted 5 times
...
...
...
...
karloscetina007
3 weeks, 3 days ago
Selected Answer: A
SNS and SQS still have an standard limit of tails under 3000 messages per sec, because SNS and SQS still have an standard limit of tails under 3000 messages per sec. It does not accomplishes with the requirement. Perharps it's a possible solution: Amazon Kinesis Data Analytics. Configure the consumer applications to read and process the messages, but it requires that change the arch of this app, but this point is no matter on ther requirement.
upvoted 1 times
Fresbie99
1 year, 2 months ago
thats for FIFO queue.
upvoted 1 times
Fresbie99
1 year, 2 months ago
for standard queue there is nearly no limit to messages
upvoted 2 times
...
...
...
cookieMr
3 weeks, 3 days ago
Selected Answer: D
Option A: It is more suitable for real-time analytics and processing of streaming data rather than decoupling and scaling message ingestion and consumption. Option B: It may help with scalability to some extent, but it doesn't provide decoupling. Option C: It is a valid option, but it lacks the decoupling aspect. In this approach, the consumer applications would still need to read directly from DynamoDB, creating tight coupling between the ingestion and consumption processes. Option D: It is the recommended solution for decoupling and scalability. The ingestion application can publish messages to an SNS topic, and multiple consumer apps can subscribe to the relevant SQS queues. SNS ensures that each message is delivered to all subscribed queues, allowing the consuming apps to independently process the messages at their own pace and scale horizontally as needed. This provides loose coupling, scalability, and fault tolerance, as the queues can handle message spikes and manage the consumption rate based on the consumer's processing capabilities.
upvoted 4 times
...
Guru4Cloud
3 weeks, 3 days ago
Selected Answer: D
The answer is D. Publish the messages to an Amazon Simple Notification Service (Amazon SNS) topic with multiple Amazon Simple Queue Service (Amazon SQS) subscriptions. Configure the consumer applications to process the messages from the queues. This solution is the most scalable and decoupled solution for the given scenario. Amazon SNS is a pub/sub messaging service that can be used to decouple applications. Amazon SQS is a fully managed message queuing service that can be used to store and process messages. The solution would work as follows: The ingestion application would publish the messages to an Amazon SNS topic. The Amazon SNS topic would have multiple Amazon SQS subscriptions. The consumer applications would subscribe to the Amazon SQS queues. The consumer applications would process the messages from the Amazon SQS queues.
upvoted 2 times
...
Stevey
3 weeks, 3 days ago
D. is the answer. The question states that there are dozens of other applications and microservices that consume these messages and that the volume of messages can vary drastically and increase suddenly. Therefore, you need a solution that can handle a high volume of messages, distribute them to multiple consumers, and scale quickly. SNS with SQS provides these capabilities. Publishing messages to an SNS topic with multiple SQS subscriptions is a common AWS pattern for achieving both decoupling and scalability in message-driven systems. SNS allows messages to be fanned out to multiple subscribers, which in this case would be SQS queues. Each consumer application could then process messages from its SQS queue at its own pace, providing scalability and ensuring that all messages are processed by all consumer applications. A. Amazon Kinesis Data Analytics is primarily used for real-time analysis of streaming data. It's not designed to distribute messages to multiple consumers.
upvoted 3 times
...
hrushikeshrelekar
3 weeks, 3 days ago
Option D Amazon SNS allows you to publish messages to a topic, which can then fan out those messages to multiple subscribers. By using Amazon SQS as a subscriber to the SNS topic, you can handle the message load in a decoupled and scalable way. SQS can store messages until the consuming application is ready to process them, helping to smooth out the variance in message load. This approach allows the company to effectively decouple the message producing applications from the consuming applications, and it can easily scale to handle the high load of messages. The number of messages (100,000 each second) might require careful configuration and sharding of SQS queues or use of FIFO queues to ensure that they can handle the load. Options A, B, and C have their own limitations:
upvoted 3 times
...
IdanAWS
3 weeks, 3 days ago
Selected Answer: D
D. Here’s why option D is the correct choice: Amazon SNS: Amazon SNS is a fully managed pub/sub messaging service that enables message publishing and subscription to topics. It provides fast and flexible communication between publishers and subscribers. Amazon SQS: Amazon SQS is a fully managed message queuing service that decouples the components of a distributed application. It offers reliable and scalable queues for storing messages and enables applications to process them asynchronously. By publishing the messages to an Amazon SNS topic and using Amazon SQS subscriptions, the solution achieves decoupling and scalability. Multiple applications and microservices can subscribe to the topic and receive messages through their individual SQS queues. This allows for parallel processing and enables the system to handle varying message volumes, including spikes of up to 100,000 messages per second.
upvoted 3 times
...
Ruffyit
3 weeks, 3 days ago
D. Here’s why option D is the correct choice: Amazon SNS: Amazon SNS is a fully managed pub/sub messaging service that enables message publishing and subscription to topics. It provides fast and flexible communication between publishers and subscribers. Amazon SQS: Amazon SQS is a fully managed message queuing service that decouples the components of a distributed application. It offers reliable and scalable queues for storing messages and enables applications to process them asynchronously. By publishing the messages to an Amazon SNS topic and using Amazon SQS subscriptions, the solution achieves decoupling and scalability. Multiple applications and microservices can subscribe to the topic and receive messages through their individual SQS queues. This allows for parallel processing and enables the system to handle varying message volumes, including spikes of up to 100,000 messages per second.
upvoted 3 times
...
PaulGa
2 months ago
Ans A. Solution requires decoupling. SNS is FIFO. Also (hinted at): messages are forwarded to other services so need some level of processing
upvoted 2 times
...
parth_g_mehta
3 months ago
Selected Answer: D
SNS can handle the high throughput of up to 100,000 messages per second. Amazon Kinesis typical use cases are 1.Real-Time Dashboards 2.Streaming ETL (Extract, Transform, Load) 3.Log and Event Monitoring 4. IoT Analytics 5. Clickstream Analysis
upvoted 2 times
...
austin1167bio
3 months, 1 week ago
Selected Answer: D
D is accurate answer
upvoted 1 times
...
oliii
3 months, 2 weeks ago
Selected Answer: D
SNS decouple the order and secure the message during transferring
upvoted 1 times
...
ChymKuBoy
4 months, 1 week ago
Selected Answer: D
D for sure
upvoted 1 times
...
kelmryan1
4 months, 2 weeks ago
Answer is A because you have to decouple the solution. Anything ecoupling has to do with kinesis
upvoted 2 times
...
Ishu_
4 months, 2 weeks ago
Selected Answer: D
Using Amazon SNS and SQS together provides a scalable, decoupled architecture that can handle high message throughput and variable load efficiently, making it the best fit for the requirements.
upvoted 1 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 ...