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 write requests per second with a target response latency of less than milliseconds. The bid request data is highly transient and only needs to be persisted for 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.)
- 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.Cevap
- 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.Cevap
- CUse 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.
- DStore the active campaign budget balances in an Amazon ElastiCache for Memcached cluster, configuring the application to perform read-modify-write operations with pessimistic locking.
- EDeploy 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.
Cevap
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.
Adım Adım Çözüm
Anahtar Kavram
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.
Tahmini Süre:2m 0s