Soru

Zorluk: ZorPerformance and Scalability Optimization

A telematics company is building a connected vehicle platform on AWS to ingest telemetry from a fleet of 1.5 million1.5\text{ million} vehicles. Each vehicle transmits GPS and engine diagnostics every 10 seconds10\text{ seconds} via HTTPS, producing a steady ingestion rate of 150,000150,000 requests per second. The platform must perform real-time geofencing checks (which require querying spatial boundaries) with a sub-50 ms50\text{ ms} latency target, and persist all incoming telemetry for historical reporting. During peak rush hours, traffic can double within a 22-minute window. Which of the following architectures is the most performant, scalable, and operationally efficient?

  1. Deploy a Network Load Balancer (NLB) to ingest the traffic, routing to an Amazon ECS cluster on AWS Fargate. ECS tasks write telemetry data to Amazon Kinesis Data Streams. Configure AWS Lambda functions to consume the stream, perform geofencing checks by querying spatial boundaries cached in Amazon ElastiCache for Redis, and write results to Amazon DynamoDB. Use Amazon Kinesis Data Firehose to archive raw telemetry to Amazon S3.Cevap
  2. B
    Deploy a Network Load Balancer (NLB) to ingest the traffic, routing to an Amazon ECS cluster on AWS Fargate. ECS tasks write telemetry data to Amazon Kinesis Data Streams. Configure AWS Lambda functions to consume the stream and perform geofencing checks by querying spatial boundaries from the secondary standby DB instance of a Multi-AZ Amazon RDS for PostgreSQL deployment to offload the primary DB instance.
  3. C
    Deploy an Application Load Balancer (ALB) to ingest the traffic, routing to an Amazon ECS cluster on AWS Fargate. Rely on ALB auto-scaling to handle the sudden spikes during peak hours. The ECS tasks write telemetry data to Amazon Kinesis Data Streams, while evaluating geofences using spatial boundaries cached in Amazon ElastiCache for Redis.
  4. D
    Deploy a Network Load Balancer (NLB) to ingest the traffic, routing to an Amazon ECS cluster on AWS Fargate. ECS tasks write telemetry to Amazon SQS queues. Configure AWS Lambda functions to poll the queues, perform geofencing checks by querying spatial boundaries cached in Amazon ElastiCache for Memcached, and write every processed message individually to Amazon S3.

Cevap

Deploy a Network Load Balancer (NLB) to ingest the traffic, routing to an Amazon ECS cluster on AWS Fargate. ECS tasks write telemetry data to Amazon Kinesis Data Streams. Configure AWS Lambda functions to consume the stream, perform geofencing checks by querying spatial boundaries cached in Amazon ElastiCache for Redis, and write results to Amazon DynamoDB. Use Amazon Kinesis Data Firehose to archive raw telemetry to Amazon S3.
The correct answer combines a Network Load Balancer (NLB) to handle sudden spikes in traffic, Kinesis Data Streams for high-throughput ingestion buffering, ElastiCache for Redis to store geofence coordinates and execute geospatial lookups with sub-millisecond latency, and Kinesis Data Firehose to aggregate and write raw historical data to Amazon S3.

Adım Adım Çözüm

1
Analyze the load balancing tier requirements for flash traffic scaling.
Identify that the system must handle a sudden traffic spike from 150,000150,000 to 300,000300,000 requests per second within 2 minutes2\text{ minutes}. An Application Load Balancer cannot scale this quickly without pre-warming, whereas a Network Load Balancer handles sudden spikes of millions of requests per second out-of-the-box.
Choosing the correct load balancing service is critical to prevent connection drops at the ingestion layer.
2
Evaluate the database read and cache layer for low-latency geofencing queries.
Determine that querying spatial boundaries from a relational database or an RDS standby instance is either slow or impossible (since RDS standby DB instances do not support reads). Amazon ElastiCache for Redis provides geospatial query capabilities with sub-millisecond response times.
Meeting the sub-50ms latency target requires an in-memory database with geospatial index support.
3
Determine the streaming and archival path for high-throughput persistence.
Use Amazon Kinesis Data Streams to buffer the telemetry data from ECS, allowing decoupled downstream consumption. Use Kinesis Data Firehose to batch records and archive them to Amazon S3 efficiently.
Direct writes to Amazon S3 or individual API calls per message introduce extreme latency and scaling bottlenecks.

Anahtar Kavram

Decoupled architecture for high-throughput, low-latency streaming and rapid traffic spikes
Bu soruyu puanla