Question

Difficulty: MediumPerformance and Scalability Optimization

An advertising technology company is designing a real-time bidding (RTB) platform that must process incoming bid requests from multiple ad exchanges. The system must handle a peak load of 300,000300,000 write requests per second with a target response latency of less than 2020 milliseconds. The bid request data is highly transient and only needs to be persisted for 2424 hours for auditing, but the active campaign budget data must be updated in real-time with strict consistency to prevent overspending. Which combination of architectural decisions should the Solutions Architect recommend to achieve these requirements with the lowest latency and highest scalability? (Select TWO.)

  1. Use Amazon ElastiCache for Redis with Multi-AZ and auto-failover enabled to store and update active campaign budget balances in-memory, leveraging Redis hashes and Lua scripting to perform atomic operations.Answer
  2. Ingest the incoming transient bid request logs using Amazon Kinesis Data Streams, and configure an Amazon Kinesis Data Firehose delivery stream to batch and load the data into Amazon S3 for auditing.Answer
  3. C
    Use an Amazon Aurora PostgreSQL DB cluster with multiple Aurora Replicas to store the active campaign budgets, and enable Aurora Serverless v2 to dynamically scale to handle the write spikes.
  4. D
    Store the active campaign budget balances in an Amazon ElastiCache for Memcached cluster, configuring the application to perform read-modify-write operations with pessimistic locking.
  5. E
    Deploy an Application Load Balancer (ALB) to ingest the bid requests, relying on standard target tracking scaling policies based on RequestCountPerTarget to scale the backend EC2 instances.

Answer

To support high-throughput, low-latency, and consistent state updates, the architect should recommend storing active budget balances in Amazon ElastiCache for Redis with Lua scripting, and ingesting transient logging payloads using Amazon Kinesis Data Streams for downstream audit storage.
The correct architecture uses Amazon ElastiCache for Redis to manage campaign budgets because its in-memory processing provides sub-20 millisecond performance, and server-side Lua scripts ensure atomic, thread-safe updates to prevent budget overruns. For the log ingestion pipeline, Amazon Kinesis Data Streams acts as a highly scalable buffer that can handle arbitrary throughput levels by partitioning traffic across shards, transferring data asynchronously to Amazon S3 via Kinesis Data Firehose.

Step-by-Step Solution

1
Analyze write performance and consistency requirements.
Real-time campaign budget updates require sub-millisecond response latencies and atomic consistency to avoid overspending.
Relational databases cannot scale writes to 300,000300,000 requests per second within a 2020 millisecond SLA. In-memory datastores like Redis are required.
2
Select the correct caching technology.
Amazon ElastiCache for Redis is chosen over Memcached.
Redis supports replication, multi-AZ failover, and Lua scripting for transactional operations, whereas Memcached lacks replication and atomic scripting features.
3
Design the ingestion pipeline for transient audit logs.
Select Amazon Kinesis Data Streams integrated with Kinesis Data Firehose.
Kinesis Data Streams scales horizontally by adjusting shard capacity, decoupling high-velocity write ingestion from the long-term S3 storage layer.

Key Concept

Handling high-throughput writes at sub-20ms latency requires combining in-memory datastores for consistent state tracking and horizontally scalable streaming ingestion pipelines for transient logs.
Estimated Time:2m 0s
Rate this question