1
resposta

Integridade de dados em microserviços

Olá pessoal, tudo bem?

Tenho uma dúvida a respeito do tratamento dos dados em microserviços, levando em consideração o padrão Single Service Database. Por exemplo, em um monolito, conseguimos utilizar o relacionamento entre tabelas do banco relacional como forma de prevenir erros, exemplo, caso um produto esteja relacionado a um pedido, esse produto não poderá ser excluído da base de dados. Como podemos tratar essas relações em microserviços, levando em consideração que cada serviço terá seu próprio banco de dados?

1 resposta

Olá Fabio, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

A integridade de dados é um aspecto muito importante em qualquer sistema, e em microserviços não é diferente. Uma solução possível é utilizar o padrão Saga para transações distribuídas. Com esse padrão, podemos definir uma sequência de operações que precisam ser executadas em diferentes serviços, e caso alguma delas falhe, podemos desfazer todas as operações já realizadas. Dessa forma, garantimos que os dados estarão sempre consistentes.

Atualmente na Alura não temos um curso dedicado que aborda o padrão de projeto Saga, mas, deixo artigos abaixo é abordado com detalhes como aplicar o padrão Saga para microsserviços, que serão um bom ponto de partida no aprofundamento sobre este tema:

Observação: O conteúdo recomendado está em inglês, comum na área da tecnologia, utilize o tradutor para melhor compreensão.

Espero ter lhe ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software