Question #1070
A developer is designing a highly scalable e-commerce platform that must handle at least 10,000 requests per minute. The architecture mandates a stateless web tier while ensuring user session data is preserved externally with the lowest possible latency.
Which solution minimizes latency for session management while meeting these requirements?
Provision an Amazon Aurora database, then configure session handling at the application layer to store session data in the Aurora database.
Deploy an Amazon EFS file system across all Amazon EC2 instances, then modify the application to store session data on the shared file system.
Set up an Amazon ElastiCache (Redis) cluster, then update the application to use the in-memory cache for session data storage.
Create an Amazon DynamoDB table with provisioned throughput, then adjust the application to store session data in the DynamoDB table.
Explanation
Option C is correct because Amazon ElastiCache (Redis) is an in-memory caching service designed for low-latency data access, making it ideal for storing transient session data. It ensures high scalability and performance for 10,000+ requests per minute.
Why other options are incorrect:
- A (Aurora): Disk-based databases introduce higher latency compared to in-memory solutions, making them less suitable for low-latency session management.
- B (EFS): Storing session data on a shared file system adds network latency and file I/O overhead, which is inefficient for high-throughput applications.
- D (DynamoDB): While DynamoDB offers low latency, it is disk-backed (SSD) and typically has higher latency than in-memory solutions like Redis.
Key Points:
1. Stateless web tiers require external session storage.
2. In-memory caching (Redis) minimizes latency for frequent session data access.
3. High scalability demands services like ElastiCache that handle rapid read/write operations efficiently.
Answer
The correct answer is: C