title: Horizontally scale Django Application with single Database server
body: <p>I have a Python/Django Application where we want to horizontal scale based on load. Once scaled up, we will have multiple Django servers (running on different VMs) and single postgreSQL server.</p>
  
  <p>How should the transaction management take place between these servers who don't share any state/information between them?</p>
  
  <p>Should we explicitly take a lock on the row/table etc when we want to commit a transaction?</p>