A digital telehealth platform retrieves patient medical histories from an Amazon RDS for PostgreSQL database. During peak consulting hours, database CPU utilization frequently exceeds 85%, primarily due to repetitive read queries retrieving static medical reports. The platform requires a caching layer to offload these read queries. The cache must support replication to prevent cold-start latency in case of a node failure, and it must offer automatic failover across multiple Availability Zones to ensure high availability. Which caching strategy should a solutions architect recommend to meet these requirements?
- ADeploy Amazon RDS Proxy in front of the database and enable query-result caching on the proxy layer.
- BDeploy an Amazon ElastiCache for Memcached cluster with nodes distributed across multiple Availability Zones to replicate the cached patient history.
- Deploy an Amazon ElastiCache for Redis cluster in a Multi-AZ replication group to cache the patient history query results.Answer
- DDeploy an Amazon DynamoDB Accelerator (DAX) cluster in front of the RDS for PostgreSQL database to cache the query responses.
Answer
Deploy an Amazon ElastiCache for Redis cluster in a Multi-AZ replication group to cache the patient history query results.
Deploying Amazon ElastiCache for Redis in a Multi-AZ replication group fulfills the performance and high availability requirements. Redis supports primary-replica replication and automatic failover. If the primary node fails, a replica is automatically promoted, ensuring the cache remains populated and preventing latency spikes due to database cold-starts.
Step-by-Step Solution
Key Concept
Selecting the correct caching engine (Redis vs. Memcached) based on replication, high availability, and database compatibility requirements.
Estimated Time:1m 30s