Soru

Zorluk: ZorPerformance and Scalability Optimization

A logistics company is deploying a telemetry system that ingests location data from 500,000 connected devices. The devices send data via HTTPS POST requests to a REST API hosted behind an Application Load Balancer (ALB). During scheduled shift changes, the system experiences instantaneous traffic surges, jumping from 5,000 requests per second to 300,000 requests per second within seconds. The data must be ingested reliably without loss and stored in an Amazon Aurora PostgreSQL database. Read operations for real-time dashboards must be scaled dynamically to handle peak periods. Which two configurations should a Solutions Architect implement to optimize the performance and scalability of this system?

  1. Deploy Aurora Replicas in the Aurora PostgreSQL cluster and configure Aurora Auto Scaling to dynamically adjust the number of reader nodes based on target tracking metrics.Cevap
  2. Submit a support ticket to AWS to pre-warm the Application Load Balancer before the scheduled shift changes to handle the instantaneous load increase.Cevap
  3. C
    Configure target tracking scaling policies directly on the Application Load Balancer to automatically scale the load balancer's internal resources during the traffic spikes.
  4. D
    Deploy the Aurora PostgreSQL database in a Multi-AZ configuration and configure the dashboard application to query the standby database instance to distribute the read load.
  5. E
    Deploy an Amazon ElastiCache for Memcached cluster with multi-AZ replication enabled to cache dashboard query results and minimize database reads.

Cevap

To optimize performance and scalability, the Solutions Architect should deploy Aurora Replicas with Aurora Auto Scaling to dynamically handle dashboard reads, and submit a support ticket to AWS to pre-warm the Application Load Balancer to prevent dropped requests from the scheduled traffic spikes.
Pre-warming the Application Load Balancer ensures that the underlying resources are scaled out ahead of the scheduled surge, preventing connections from being dropped. Using Aurora Replicas with Aurora Auto Scaling dynamically provisions reader instances in response to database read demand, offloading the primary write instance.

Adım Adım Çözüm

1
Analyze the load balancing and traffic pattern requirements.
The traffic spikes instantaneously from 5,000 to 300,000 requests per second during scheduled shift changes. The Application Load Balancer's automatic scaling algorithm is reactive and too slow to handle such sharp increases, which would cause connection timeouts and dropped packets.
Identifying the scaling limitation of the ALB under instantaneous load helps determine that pre-warming is required.
2
Determine the correct scaling mechanism for the database read queries.
Read operations for dashboards need to scale dynamically. Aurora PostgreSQL supports Aurora Replicas and Aurora Auto Scaling using target tracking policies to scale read capacity out and in.
This establishes that reader nodes are the correct resource to scale, rather than standby instances.
3
Evaluate and eliminate incorrect database and caching architectures.
Multi-AZ standby nodes do not serve read traffic in AWS RDS or Aurora (they are passive replication targets). Additionally, ElastiCache for Memcached lacks multi-AZ replication capabilities, which are only supported by ElastiCache for Redis.
Eliminating invalid configurations ensures the selected architecture adheres to AWS limitations and capabilities.

Anahtar Kavram

Handling sudden flash traffic on load balancers via pre-warming, and scaling database read workloads using Aurora Replicas and Aurora Auto Scaling.
Bu soruyu puanla