Executando verificação de segurança...
1
llicar
1 min de leitura ·

Controlar conexẽs no banco de dados (Nodejs)

Bom dia!
Criei um endpoint na minha API que é responsável pela seguinte função:

Obter os dados do usuário que é enviado no body, gerar diversos números aleátorios e cadastrar em uma tabela no banco relacionado ao usuário que solocitou (Antes de registrar eu verifico se o número existe para que não haja duplicidade). Bem simples.

O problema é que pode haver muitas requisições no mesmo dia, e preciso controlar o acesso ao banco de dados para que não haja perigo de ser gerado numeros iguais.

Qual a melhor maneira de resolver esse problema? controlar o acceso à API, ao banco de dados? E como fazer?

Se tiverem uma solução diferente que resolva o problema, fique a vontade para compartilhar :)

Agradeço desde já!

Carregando publicação patrocinada...
1

Cara... use filas.
A pessoa faz a requisição e voc salva o pedido em uma tabela. Ai outro código verifica se tem alguma requisição pendente e executa na sequência.

1

ADIÇÃO: se possivel em sua infra, comece com manejadores de fila, como bull js.
Mas prefira por sistemas de fila robustos como amqp, para manter tudo no ar.

1

Se as chances de gerar um número igual forem muito pequenas não basta adicionar uma constraint UNIQUE no campo que você não deseja duplicidade?

Ou dependendo do que você quer fazer pode até gerar o número usando funções do próprio banco de dados.