Soru

Zorluk: ZorPerformance and Scalability Optimization

A global online retailer is launching a flash sale platform for limited-edition merchandise drops. The system expects sudden, extreme traffic surges where active users scale from 5,0005,000 to over 1,500,0001,500,000 within 60 seconds60\text{ seconds} at the start of a sale. The current architecture consists of an Application Load Balancer (ALB), an Amazon ECS on AWS Fargate service, and an Amazon Aurora PostgreSQL database cluster. During testing, the sudden influx of connection requests led to HTTP 503503 Service Unavailable errors from the ALB, and database write latency spiked, causing the Fargate tasks to exhaust their connection pools. Which combination of architectural optimizations will best resolve these performance and scalability issues? (Select TWO)

  1. Submit an AWS Support ticket to pre-warm the Application Load Balancer (ALB) with the expected traffic profile and surge rates prior to the start of the drop event.Cevap
  2. Decouple the write operations by routing order requests to an Amazon Kinesis Data Stream, and configure an AWS Lambda function to poll the stream and perform batch writes to the Amazon Aurora database.Cevap
  3. C
    Configure Application Auto Scaling on the Application Load Balancer to dynamically adjust capacity based on the ActiveConnectionCount metric.
  4. D
    Enable read routing on the Amazon Aurora Multi-AZ standby instance to offload read transactions during the event, scaling the standby dynamically to meet traffic requirements.
  5. E
    Deploy an Amazon ElastiCache for Memcached cluster with Multi-AZ replication enabled to persist the temporary shopping cart state across different Availability Zones.

Cevap

Pre-warm the Application Load Balancer (ALB) by contacting AWS Support, and decouple the database write operations using Amazon Kinesis Data Streams and AWS Lambda to process database updates in batches.
Contacting AWS Support to pre-warm the ALB ensures that the load balancer is provisioned with sufficient capacity before the flash sale starts, preventing HTTP 503 errors. Decoupling the write path using Amazon Kinesis Data Streams and AWS Lambda allows the system to ingest massive transaction volumes instantly and write to the Aurora database in controlled, batched operations, preventing database CPU exhaustion.

Adım Adım Çözüm

1
Analyze the bottleneck at the ingress layer (Application Load Balancer) during an instantaneous surge.
Dynamic auto-scaling policies cannot react quickly enough, causing HTTP 503 errors. Determine that ALB pre-warming via AWS Support is required.
ALBs scale gradually based on traffic trends, but a sudden flash spike from 5,000 to 1.5 million requests in 60 seconds will saturate the existing capacity before scaling completes.
2
Analyze the bottleneck at the database layer (Amazon Aurora PostgreSQL).
Determine that decoupling writes using a queuing/streaming ingestion tier is necessary to absorb the peak throughput.
Direct, concurrent database writes from scaled container tasks can exhaust database connection pools and CPU. Buffering updates in Amazon Kinesis and processing them in batches via AWS Lambda smooths out the database write load.
3
Evaluate the architectural validity of the distractors.
Identify that the options suggesting dynamic ALB auto-scaling, routing reads to a standby, and using replicated Memcached are invalid.
Aurora standby instances do not handle read scaling, Memcached does not support replication or persistence, and ALB dynamic scaling is too slow for flash spikes.

Anahtar Kavram

Architecting systems for extreme flash traffic spikes by pre-warming load balancers and decoupling database writes to manage scalability and performance.
Bu soruyu puanla