Design a Distributed Cache — Interactive Architecture Walkthrough