Lidando com concorrências no banco de dados

Você já ouviu essa pergunta ? “O que acontece se 2 pessoas executarem a ação ao mesmo tempo?"(no contexto de um serviço web com o banco de dados). Algumas respostas possíveis(se conhece outras me diz ai). Transações estão ai para resolver isso. Não sei (simples,direto e principalmente honesto). Beleza, vamos criar um cenário para que possamos ter o contexto em comum. Podemos olhar para esse problema pensando em reserva de assentos/quartos, estoque de produtos,qualquer problema onde 2 pessoas podem alterar o mesmo registro, etc… Vamos trabalhar com um cinema. Temos uma tabela com os assentos 1-5(sim é um cinema muito pequeno, mas garanto que a qualidade é muito boa). ...

October 24, 2020 · 5 min

Evitando Requisicao Duplicada com Singleflight

Você tem algum endpoint que precisa processar muita coisa, consome dados de terceiros, lento, etc…. E para ajudar esse endpoint recebe muitas requisições simultâneas( algo que carrega na tua página inicial para todos users e tem o mesmo conteúdo) Cada vez que aquele endpoint é chamado seus olhos se enchem de lágrimas, pois então isso vai mudar :) e vou te contar como. Vamos usar o pacote singleflight. Nas palavras do pacote: ...

April 12, 2020 · 4 min