A global advertising technology (ad-tech) company runs a real-time bidding platform that stores user profile segments in Amazon DynamoDB. During high-traffic campaigns, the DynamoDB tables experience significant read throttling despite having DynamoDB Auto Scaling enabled. The application requires sub-millisecond response times for segment lookups to meet bidding window SLA limits. The architecture team wants to introduce a caching layer to cache the lookups. The cached user profile data must be replicated across three Availability Zones to prevent cache stampedes in case of a zone failure, support active data persistence to survive cache node restarts, and allow the application to execute atomic updates on list-based segment identifiers within the cache. Which caching strategy should the solutions architect implement to address these requirements?
- AImplement Amazon ElastiCache for Memcached with nodes distributed across three Availability Zones, enabling automatic failover and configuring regular snapshots of the cache nodes to Amazon S3 for data persistence.
- Implement Amazon ElastiCache for Redis with cluster mode enabled, deploying replication groups across three Availability Zones with automatic failover, and utilizing Append Only File (AOF) persistence.Answer
- CImplement Amazon ElastiCache for Memcached with a multi-node cluster, configuring Auto-Discovery to handle node additions and utilizing an application-managed background process to persist cached segments to DynamoDB.
- DImplement Amazon ElastiCache for Memcached and configure an AWS Lambda function triggered by Amazon EventBridge to periodically dump and backup the in-memory cache data to an Amazon S3 bucket.