A global multiplayer gaming platform hosts player profile statistics in an Amazon RDS for PostgreSQL database and stores downloadable game patch files in an Amazon S3 bucket. The game client retrieves profile statistics via read-heavy API queries and downloads patch files whenever a new update is released. Player traffic is highly distributed globally and spikes unpredictably. A solutions architect needs to design a high-performing content delivery and caching solution that minimizes latency for both assets and queries while reducing load on the database. Which two configurations should the solutions architect implement to meet these requirements? (Select TWO.)
- Configure an Amazon CloudFront distribution with the Amazon S3 bucket as the origin to cache and serve the game patch files closer to users.Answer
- Implement an Amazon ElastiCache for Redis cluster in front of the Amazon RDS database to cache frequent and repetitive query results for player profiles.Answer
- CConfigure an Amazon CloudFront distribution for the Amazon S3 bucket, and set the cache behavior's Minimum TTL, Maximum TTL, and Default TTL to 0 seconds.
- DDeploy Amazon RDS Read Replicas to cache query results, and configure them to automatically promote to the primary write database during an Availability Zone outage.
- EMigrate the player statistics to Amazon DynamoDB and use the player's last login date (YYYY-MM-DD) as the partition key to distribute write and query loads evenly.
Answer
To optimize performance, the solutions architect should configure an Amazon CloudFront distribution to cache static game patch files from the Amazon S3 bucket and deploy an Amazon ElastiCache for Redis cluster to cache read-heavy player profile queries from the Amazon RDS database.
The correct solution involves combining edge caching for static patch files via Amazon CloudFront and database query caching using Amazon ElastiCache for Redis. CloudFront brings static assets closer to the users, while ElastiCache speeds up repetitive database read queries, lowering overall latency and origin load.
Step-by-Step Solution
Key Concept
Multi-tier caching separates static content caching at the edge using CloudFront from database query acceleration using an in-memory database cache like ElastiCache.