On Nov 22, 2018, at 1:37 PM, Nikola Mitev <nik@mitev.eu> wrote:
it makes a lot of sense for me as the app does write to a database
The fact that it does is not a guarantee of corruption in parallel execution, just a risk. If you’re using an ACID-compliant database and are doing transactions properly, then you’ve removed the risk of multiple parallel writes stomping on each other. The thing is, you have to do that in *every* such path. All queries, all file I/O, all network I/O… If there’s a missing lock in any of those paths, there’s a possible data race. So, you have two choices: 1. Find and fix all the data races, or 2. Construct your app in such a way that data races are impossible. Choking everything down to a single thread at the HTTP layer is one of the entry points to path #2.