Soru

Zorluk: Çok zorPerformance and Scalability Optimization

A gaming company is launching a highly anticipated multiplayer game. During peak tournament events, the matchmaking and session metadata service expects an instantaneous surge in traffic, scaling from a baseline of 2,000 requests per second2,000\text{ requests per second} to over 150,000 requests per second150,000\text{ requests per second} in less than 30 seconds30\text{ seconds}. The backend architecture consists of an Application Load Balancer (ALB) routing traffic to a containerized fleet running on Amazon Elastic Container Service (Amazon ECS) on AWS Fargate. The session state is stored in an Amazon Aurora PostgreSQL database. Performance during the transition must be seamless, with latency under 50 ms50\text{ ms} for 99%99\% of requests, and no connection failures. Which two configurations should the Solutions Architect implement to meet these requirements?

  1. Request AWS Support to pre-warm the Application Load Balancer to the anticipated throughput of 150,000 requests per second150,000\text{ requests per second} before the tournament, and configure Amazon ECS Scheduled Scaling to scale the task count to the anticipated peak capacity ahead of the event.Cevap
  2. Implement Amazon ElastiCache for Redis in a Multi-AZ replication group to cache session metadata, and configure the application to query the cache before accessing the Aurora database.Cevap
  3. C
    Configure the Application Load Balancer to scale dynamically using target tracking scaling, and set the ECS service scaling cooldown period to 15 seconds15\text{ seconds} to allow the Fargate tasks to scale out rapidly.
  4. D
    Enable Multi-AZ deployment for the Amazon Aurora database cluster and configure the application to route read-only queries to the standby instance in the secondary Availability Zone to handle the read volume.
  5. E
    Deploy Amazon ElastiCache for Memcached to store session metadata, and configure it with Multi-AZ replication to ensure high availability and automatic failover.

Cevap

Pre-warm the Application Load Balancer via AWS Support and configure Amazon ECS Scheduled Scaling to scale out the task count before the event, and implement Amazon ElastiCache for Redis in a Multi-AZ replication group to cache session metadata.
Pre-warming the Application Load Balancer ensures that AWS allocates sufficient capacity beforehand to prevent dropped connections during the instantaneous 150,000 requests per second150,000\text{ requests per second} surge. Using Amazon ECS Scheduled Scaling ensures that the container fleet is scaled out prior to the event, bypassing the latency associated with task provisioning and application bootstrapping. Additionally, placing Amazon ElastiCache for Redis in front of the database offloads read traffic and provides sub-millisecond latency for session metadata, satisfying the 50 ms50\text{ ms} latency requirement while ensuring high availability through Multi-AZ replication.

Adım Adım Çözüm

1
Analyze load balancer scaling characteristics under extreme flash traffic.
Dynamic scaling of an Application Load Balancer takes time to provision new nodes and update DNS. A 75×75\times surge in 30 seconds requires requesting ALB pre-warming from AWS Support to avoid dropped connections.
Prevents HTTP 503 errors and connection timeouts at the entry point during the instantaneous load spike.
2
Address ECS container fleet launch and bootstrapping latency.
Standard dynamic scaling based on CPU or request metrics cannot launch container tasks fast enough to meet a 30-second ramp-up window. Scheduled scaling must be configured to provision target capacity in advance.
Ensures that the required container capacity is active and ready to process requests before the tournament starts.
3
Design a high-performance database caching layer for session metadata.
Offload read queries from Aurora PostgreSQL to an in-memory caching tier that supports sub-millisecond reads, data replication, and high availability.
Reduces read load on the transactional database and ensures consistent low latency during high-concurrency periods.
4
Select the correct caching technology that satisfies replication and high availability constraints.
Select Amazon ElastiCache for Redis because it supports Multi-AZ replication, automatic failover, and data persistence, whereas Memcached does not support replication.
Meets high availability requirements while storing session metadata.

Anahtar Kavram

Handling instantaneous load spikes (flash traffic) through pre-warming, proactive scaling, and high-availability caching architectures.
Bu soruyu puanla