Soru

Zorluk: Çok zorPerformance and Scalability Optimization

A global meteorological agency operates a severe weather monitoring platform that ingests telemetry from 5 million5\text{ million} active IoT weather sensors. Under normal conditions, each sensor transmits data every 15 minutes15\text{ minutes}. However, during sudden severe weather events, up to 1.5 million1.5\text{ million} sensors in the affected regions immediately transition to high-frequency reporting, transmitting data every 2 seconds2\text{ seconds}. The platform’s ingestion layer uses stateless web servers hosted on Amazon ECS tasks using the AWS Fargate launch type, positioned behind an Application Load Balancer (ALB). The persistence layer is an Amazon Aurora PostgreSQL DB cluster. During simulations of a sudden localized storm, the platform experiences severe request drops at the ingestion layer, and read latency for the real-time public dashboard increases exponentially. Which architectural strategy will optimize performance and ensure scalability during these unpredictable spikes?

  1. Replace the ALB with a Network Load Balancer (NLB) to handle the instantaneous surge of TCP connections without pre-warming. Deploy an Amazon ElastiCache for Redis cluster with Multi-AZ replication to cache dashboard query results. Configure Aurora Auto Scaling to dynamically provision Aurora Replicas to offload read queries from the primary DB instance.Cevap
  2. B
    Keep the ALB and request AWS Support to configure automatic pre-warming based on historical weather patterns. Deploy an Amazon ElastiCache for Memcached cluster to cache dashboard query results. Configure the primary Aurora instance to scale vertically during high-load periods by changing its instance class.
  3. C
    Replace the ALB with a Network Load Balancer (NLB). Enable RDS Multi-AZ replication on the database cluster, and configure the application to route dashboard read queries directly to the Multi-AZ standby replica to reduce load on the primary writer.
  4. D
    Keep the ALB and implement dynamic scaling policies for the ECS tasks. Deploy an Amazon ElastiCache for Redis cluster to cache dashboard queries. Configure Aurora Auto Scaling to add reader instances, setting the scale-in and scale-out cooldown periods to 30 seconds to quickly respond to the high-frequency sensor transitions.

Cevap

Replace the ALB with a Network Load Balancer (NLB) to handle the instantaneous surge of TCP connections without pre-warming. Deploy an Amazon ElastiCache for Redis cluster with Multi-AZ replication to cache dashboard query results. Configure Aurora Auto Scaling to dynamically provision Aurora Replicas to offload read queries from the primary DB instance.
The correct answer replaces the ALB with an NLB, which scales instantly to handle millions of requests without pre-warming. It offloads read-heavy queries by utilizing ElastiCache for Redis for caching, and uses Aurora Auto Scaling to add replicas dynamically for handling residual read queries. This represents the most performant, scalable, and resilient architecture under AWS best practices.

Adım Adım Çözüm

1
Evaluate the ingestion layer load balancer options for handling sudden, unpredictable flash traffic spikes.
Identify that an Application Load Balancer (ALB) requires time to scale out or requires manual pre-warming, which is unviable for unpredictable severe weather events. A Network Load Balancer (NLB) is designed to handle sudden spikes of millions of requests per second instantly without pre-warming.
Solves the request drops at the ingestion layer due to load balancer scaling limitations.
2
Design the caching tier to offload read traffic from the primary database cluster.
Choose Amazon ElastiCache for Redis due to its support for multi-AZ replication, persistence, and complex data structures, which are critical for maintaining high availability of the live dashboard.
Reduces read queries reaching the database, keeping DB CPU usage low during high-frequency telemetry reports.
3
Address residual read scaling at the database layer.
Configure Aurora Auto Scaling to add reader replicas dynamically, which can scale up to 15 replicas to handle remaining read traffic, while ensuring the primary writer is reserved for telemetry writes.
Provides horizontal read scaling for database query spikes that bypass the caching layer.

Anahtar Kavram

Handling unpredictable flash traffic spikes requires using Network Load Balancers (NLBs) to avoid pre-warming delays, caching read-heavy workloads with ElastiCache for Redis, and leveraging Aurora Replicas with appropriate Auto Scaling configurations rather than relying on passive standby instances.
Bu soruyu puanla