3
respostas

Acesso Carrinho BD

Tenho observado que até o momento todas as alterações no carinho geram input no Banco de Dados( insert, update ou delete) entendo que o usuário pode tomar alguma ação como fechar o browser e ficar lixo no BD. Essa maneira e tida como uma melhor prática? Não gera um ônus desnecessário no BD? ou tem outra maneira de deixar esses dados em uma espécie de "cache" até que efetivamente o usuário finalize sua escolha?

3 respostas

Oi Thiago, tudo bem?

É possível usar uma estratégia de cache para o carrinho, através do Redis (banco de dados em memória), por exemplo. Mas em algum momento teríamos que persistir os dados no banco de dados transacional. E isso exigiria uma arquitetura mais complexa, com o uso de mensagens, que foge do escopo do curso.

Entendo. Dentro das melhores praticas qual solução é melhor?

Para um e-commerce típico, em produção, o padrão é utilizar uma infraestrutura mais complexa, com múltiplos serviços, com fila de mensagens, event bus, cache, pois isso permite escalabilidade (isto é, aumento do número de usuários/transações sem comprometer o sistema e a usabilidade). Um exemplo dessa arquitetura pode ser vista no framework de e-commerce de código aberto chamado NopCommerce:

https://www.nopcommerce.com/

Para fins didáticos, porém, quase sempre usamos uma arquitetura mais simples, para facilitar o entendimento.