A real-time multiplayer gaming platform utilizes an Amazon RDS for MySQL Multi-AZ DB instance to store player profile states, matchmaking rankings, and session metadata. During peak tournament events, players experience significant latency when loading profiles and waiting for matchmaking. Database monitoring indicates that DB instance CPU utilization exceeds 90% due to read-heavy traffic, primarily querying static player stats that do not change during a session. The system architecture requires a caching layer that can scale horizontally, support multi-AZ replication for high availability, and persist cached session summaries so they do not need to be rebuilt from the database if a cache node fails. Which solution should a solutions architect implement to improve database efficiency while meeting these performance and availability requirements?
- AConfigure Amazon RDS Read Replicas for the MySQL DB instance. Direct the game client to route update queries to the primary instance and player profile reads to the Multi-AZ standby instance to reduce read latency.
- Deploy an Amazon ElastiCache for Redis cluster with Multi-AZ and automatic failover enabled. Configure the application to query the Redis cluster first, and retrieve the data from the database only on a cache miss.Answer
- CDeploy an Amazon ElastiCache for Memcached cluster with nodes distributed across multiple Availability Zones. Configure the application to implement a cache-aside architecture for profile reads and write player data to both the database and the cache.
- DSubmit a request to AWS Support to pre-warm the Application Load Balancer to handle read latency spike thresholds. Configure the application servers to cache player profiles locally in EC2 instance memory.