In this lab, we are presented with a site that is struggling under load because the backing DynamoDB table has had its read and write provisioning drastically reduced to avoid incurring significant cost. To correct this, we will provision an ElastiCache cluster and modify the Lambda functions in the site architecture to implement a simple caching scheme that returns the site to a functional state.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Launch an ElastiCache Cluster
- Navigate to ElastiCache.
- Click Get Started Now.
- Set the Cluster Engine to Memcached.
- Provide a name for the cluster (e.g., tatourneycache).
- Set the Cluster Node to t2.small.
- Modify the getTaStats Lambda Function
- Navigate to Lambda.
- Select the function with GetTaStats in the name.
- Using the GitHub repo code, modify the function in
editme.py
to implement read-through data caching.
- Modify the taStreamProcessor Lambda Function
- Navigate to Lambda.
- Select the function with taStreamProcessor in the name.
- Using GitHub repo code, modify the function in
editme.py
to implement cache invalidation when records in the TaTourneyStats table are updated.