What should the solutions architect do to meet these requirements?
Push score updates to Amazon Kinesis Data Streams. Process the updates in Kinesis Data Streams with AWS Lambda. Store the processed updates in Amazon DynamoDB.
Push score updates to Amazon Kinesis Data Streams. Process the updates with a fleet of Amazon EC2 instances set up for Auto Scaling. Store the processed updates in Amazon Redshift.
Push score updates to an Amazon Simple Notification Service (Amazon SNS) topic. Subscribe an AWS Lambda function to the SNS topic to process the updates. Store the processed updates in a SQL database running on Amazon EC2.
Push score updates to an Amazon Simple Queue Service (Amazon SQS) queue. Use a fleet of Amazon EC2 instances with Auto Scaling to process the updates in the SQS queue. Store the processed updates in an Amazon RDS Multi-AZ DB instance.
Explanations:
Amazon Kinesis Data Streams can handle high traffic spikes and ensure ordered processing of updates. AWS Lambda integrates well for serverless processing with minimal management overhead. DynamoDB is a fully managed, highly available NoSQL database, making it a good choice for storing processed updates.
While Kinesis Data Streams can handle traffic spikes, using EC2 instances with Auto Scaling introduces significant management overhead, and Amazon Redshift is designed for analytics, not real-time leaderboard updates.
Amazon SNS is not ideal for ordered processing of score updates, as it focuses on pub/sub messaging. Using Lambda with SNS introduces complexity for ordered processing, and storing updates in an EC2-managed SQL database increases management overhead.
SQS is suitable for message queuing, but processing with EC2 instances introduces management overhead, and Amazon RDS is a good relational database, but DynamoDB would be a more suitable choice for highly available and scalable storage with minimal management.