AWS Certified Solutions Architect – Associate (SAA-C03) — Question 414
A company has developed a new video game as a web application. The application is in a three-tier architecture in a VPC with Amazon RDS for MySQL in the database layer. Several players will compete concurrently online. The game’s developers want to display a top-10 scoreboard in near-real time and offer the ability to stop and restore the game while preserving the current scores.
What should a solutions architect do to meet these requirements?
Answer options
- A. Set up an Amazon ElastiCache for Memcached cluster to cache the scores for the web application to display.
- B. Set up an Amazon ElastiCache for Redis cluster to compute and cache the scores for the web application to display.
- C. Place an Amazon CloudFront distribution in front of the web application to cache the scoreboard in a section of the application.
- D. Create a read replica on Amazon RDS for MySQL to run queries to compute the scoreboard and serve the read traffic to the web application.
Correct answer: B
Explanation
Amazon ElastiCache for Redis is the ideal solution because it supports Sorted Sets (ZSETs) to easily compute real-time leaderboards, and it provides data persistence to preserve scores when the game is paused and restored. Amazon ElastiCache for Memcached is unsuitable because it does not offer data persistence or advanced data structures like sorted sets. Amazon CloudFront and Amazon RDS read replicas are incorrect because they cannot handle the high-frequency, real-time writes and computations required for a live, concurrent scoreboard.