How would you design a rate-limiting service for an enterprise gateway supporting millions of requests per second?