SAA-C03 Question 187
Select 3A company is designing a cloud-based e-commerce application that must handle high traffic during holiday sales. The application requires a distributed architecture to ensure high availability and fault tolerance. Which design patterns should the company implement in this scenario?
- A
Use an auto-scaling group with EC2 instances to handle dynamic traffic loads.
- B
Implement a tightly coupled architecture to reduce latency.
- C
Deploy a message queue, such as Amazon SQS, to decouple components of the application.
- D
Store user session data in DynamoDB or ElastiCache to ensure session durability across distributed nodes.
- E
Rely on a single master database instance for all transactions to simplify management.
Show answer and explanation
Correct answers: A, C, D
Explanation
The company needs to design a distributed system that ensures high availability, fault tolerance, and scalability. Using auto-scaling groups ensures the system can handle dynamic traffic loads, while decoupling components with a message queue improves fault tolerance. Storing session data in a distributed manner ensures consistency and availability across nodes. Tightly coupled architectures and single points of failure, such as a single master database, should be avoided in a distributed design.
- A. Correct.
Correct: Auto-scaling allows the application to handle dynamic traffic loads by adding or removing instances as needed, ensuring high availability and scalability.
- B. Incorrect.
Incorrect: A tightly coupled architecture creates dependencies between components, reducing fault tolerance and scalability, which is not ideal for distributed systems.
- C. Correct.
Correct: Message queues, like Amazon SQS, enable decoupling of application components, improving fault tolerance and scalability in a distributed design.
- D. Correct.
Correct: Using DynamoDB or ElastiCache to store session data ensures durability and availability of session information across multiple distributed nodes.
- E. Incorrect.
Incorrect: Relying on a single master database creates a single point of failure, which goes against the principles of high availability and fault tolerance in distributed systems.