Distributed rate limiting: why is it harder than a simple in-memory counter? | LetsGit.IT