title: Prevent simultaneous requests from single user in Django on a multi-server setup
body: <p>I have a Django app working in multiprocessing+multithreading mode under uWSGI on two dedicated servers. Load balancing is done via nGinx. There is also Postgres and Redis server.</p>
  
  <p>Users cause race condition on critical data processing by clicking button twice accidentally and by spamming web server to gain more points. I'm thinking about using some kind of per user lock at the beginning of request processing to prevent both data corruption and server overloading. The problem is that the request processing is distributed between machines.</p>
  
  <p>What is the most robust and efficient solution in such case? And what if I'd have a single uWSGI server but still with multiple processes?</p>