What should a solutions architect do to meet these requirements?
Set up an Amazon ElastiCache for Memcached cluster to cache the scores for the web application to display.
Set up an Amazon ElastiCache for Redis cluster to compute and cache the scores for the web application to display.
Place an Amazon CloudFront distribution in front of the web application to cache the scoreboard in a section of the application.
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.
Explanations:
Amazon ElastiCache for Memcached is not suitable for maintaining the state of scores, as it does not support data persistence. Scores need to be maintained even if the application or service restarts, which Memcached cannot provide.
Amazon ElastiCache for Redis supports both caching and data persistence, making it suitable for computing and caching scores. It allows for real-time updates and can maintain the state of scores even if the service restarts, making it ideal for displaying a top-10 scoreboard in near-real time.
Amazon CloudFront is primarily a content delivery network (CDN) for static content. While it can cache content to improve load times, it is not designed for real-time data updates and does not maintain state, making it unsuitable for a real-time scoreboard.
Creating a read replica on Amazon RDS for MySQL can offload read traffic, but it does not address the need for near-real-time updates to the scoreboard. It may introduce latency in score updates due to replication lag, making it less effective for a real-time scoreboard display.