Executando verificação de segurança...
2

Porém, ao utilizar essa abordagem um novo problema surge, sempre que houver transações concorrentes acessando a mesma linha do banco, a segunda transação terá que esperar a primeira transação liberar o lock para seguir em frente, fazendo com que o sistema enfrente alguns gargalos caso multiplas solicitações de compra sejam realizadas para um mesmo produto em um curto intervalo de tempo.

De qual escala estamos falando?

Para um sistema pequeno isso é irrelevante.

Começa-se a tornar um problema somente com milhares de pessoas acessando simultaneamente, se esse não for o seu caso resolver esse problema é overengineering

Carregando publicação patrocinada...
1

Para um sistema pequeno um lock pessimista parece resolver, mas eu imagino que um sistema grande teria que lidar com essa situação. Eu queria saber quais são as práticas utilizadas pelo mercado em grandes sistemas para lidar com isso.