Soru

Zorluk: OrtaPerformance and Scalability Optimization

A fleet management company is designing a new real-time tracking application that receives GPS coordinate telemetry from 50,00050,000 active vehicles every 10 seconds10\text{ seconds} via HTTPS POST requests. The incoming telemetry messages must be processed asynchronously to calculate vehicle velocity and then stored in a database. The database must scale dynamically to handle high-write throughput and provide single-digit millisecond latency for queries retrieving the latest position of any vehicle. Which two architectural components should the solutions architect include in the design to meet these performance and latency requirements?

  1. Use Amazon Kinesis Data Streams behind an Amazon API Gateway regional endpoint to ingest and buffer the incoming high-frequency telemetry data.Cevap
  2. Store the processed telemetry data in an Amazon DynamoDB table configured with on-demand capacity, using the vehicle ID as the partition key.Cevap
  3. C
    Deploy an Amazon ElastiCache for Memcached cluster to store the processed telemetry, relying on its multi-AZ replication to ensure persistent data durability.
  4. D
    Configure an Application Load Balancer to route HTTPS traffic directly to a target group, relying solely on target tracking scaling to handle sudden, massive incoming spikes without request buffering or load balancer pre-warming.
  5. E
    Store the processed telemetry data in an Amazon Aurora PostgreSQL DB cluster, utilizing a Multi-AZ standby instance to horizontally scale the write operations.

Cevap

The correct architecture uses Amazon Kinesis Data Streams behind Amazon API Gateway to ingest and buffer telemetry data, and stores the processed telemetry in Amazon DynamoDB with on-demand capacity using the vehicle ID as the partition key.
The correct solution involves utilizing Amazon Kinesis Data Streams behind an Amazon API Gateway regional endpoint to ingest and buffer high-frequency telemetry data, combined with storing the telemetry in Amazon DynamoDB configured with on-demand capacity and vehicle ID as the partition key. This decoupled architecture scales dynamically to handle millions of incoming requests, buffers writes, and provides single-digit millisecond read/write latency.

Adım Adım Çözüm

1
Evaluate the ingestion and scaling requirements for 50,00050,000 vehicles sending data every 10 seconds10\text{ seconds}.
This requires a highly scalable and reliable buffering ingestion mechanism that handles the persistent stream of incoming HTTPS telemetry requests without latency bottlenecks.
An Application Load Balancer alone may drop requests during sudden traffic spikes, making Amazon Kinesis Data Streams behind API Gateway the ideal architecture for ingestion and buffering.
2
Assess the database capabilities for high-write throughput and single-digit millisecond lookup latency.
Amazon DynamoDB with vehicle ID partition key satisfies the latency and high throughput requirements while dynamically scaling on-demand.
Relational options like Aurora PostgreSQL cannot easily scale writes horizontally via Multi-AZ standby instances, and Memcached lacks the persistence needed for durable data storage.

Anahtar Kavram

Decoupled serverless ingestion using Kinesis and API Gateway combined with DynamoDB partition key optimization for low-latency write scaling.
Tahmini Süre:2m 0s
Bu soruyu puanla