Design a Distributed Lock Service — Interactive Architecture Walkthrough