A three-tier web application hosted on AWS is experiencing performance degradation. The database tier uses a single Amazon DynamoDB table that experiences high read traffic on specific partition keys, leading to ProvisionedThroughputExceededException errors. Concurrently, the application's auto-scaled Amazon EC2 instances are failing to share user login sessions because session data is stored locally. The developer needs to resolve both the database read bottlenecks and externalize the session state with minimal application latency. Which combination of actions should the developer take to meet these requirements? (Select TWO.)
- Implement Amazon DynamoDB Accelerator (DAX) in front of the database table to cache read responses.Cevap
- Configure an Amazon ElastiCache for Redis cluster to serve as a centralized, replication-enabled session store.Cevap
- CScale up the provisioned read capacity units (RCUs) of the DynamoDB table to handle the surge in read requests.
- DExecute a periodic DynamoDB Scan operation to pre-load all user sessions into a local server cache.
- EStore the user session states as parameters in AWS Systems Manager Parameter Store to enable stateless scaling.
Cevap
Implement Amazon DynamoDB Accelerator (DAX) to resolve the database read bottlenecks on hot keys, and configure Amazon ElastiCache for Redis as the centralized external session store.
The correct architecture uses Amazon DynamoDB Accelerator (DAX) to resolve read hot spots by caching queries in-memory at microsecond latency without changing application code. To support stateless scaling, the application should externalize its local session state to a centralized Amazon ElastiCache for Redis cluster, which provides replication, failover, and sub-millisecond performance.
Adım Adım Çözüm
Anahtar Kavram
Using specialized caches (DAX for DynamoDB reads, ElastiCache for Redis for session state) to offload database load and externalize state for stateless application scaling.