SAA-C03 Question 139
Single answerA company is building a distributed application that processes a large number of user-generated events in near real-time. The application requires the ability to scale dynamically, ensure that messages are not lost, and allow multiple downstream services to process the same message independently. Which AWS service should the company use to meet these requirements?
- A
Amazon SQS (Standard Queue)
- B
Amazon SNS
- C
Amazon Kinesis Data Streams
- D
Amazon MQ
Show answer and explanation
Correct answer: B
Explanation
Amazon SNS is the ideal choice for this scenario because it natively supports the publish/subscribe messaging pattern, allowing multiple downstream services to receive and process the same message independently. It also provides high scalability and reliability, ensuring that messages are not lost. While other services like Amazon SQS or Amazon Kinesis Data Streams have their own use cases, they are not as well-suited for a publish/subscribe pattern where multiple consumers need to process the same message in real-time.
- A. Incorrect.
Amazon SQS (Standard Queue) is a queuing service that ensures at-least-once delivery and allows decoupling of services. However, it does not natively support the publish/subscribe pattern where multiple consumers can process the same message independently.
- B. Correct.
Amazon SNS (Simple Notification Service) is a publish/subscribe messaging service that allows multiple subscribers to independently process the same message. It supports scalability and ensures messages are not lost by retrying delivery to subscribers.
- C. Incorrect.
Amazon Kinesis Data Streams is designed for real-time processing of streaming data. While it supports multiple consumers, it is more suited for streaming workloads rather than decoupling application components using a publish/subscribe model.
- D. Incorrect.
Amazon MQ is a managed message broker service that supports open-source messaging protocols. While it can be used for messaging, it is less scalable and does not natively provide the same level of integration with AWS services or ease of use as Amazon SNS for publish/subscribe scenarios.