Design a distributed rate limiter | Google Interview Question