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?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
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!