Grupo Mult - Somos Mult com e por você!
  • Home
  • Soluções
    • Arquitetura Ágil como Serviço
    • Agile Development
    • Go To Cloud & Cloud Apps
    • Automatização de Processos e Integrações
  • Clientes & Parceiros
  • Seja Mult
  • Fale Conosco
  • Materiais
  • Blog
  • +55 31 3194 0400
  • Voltar
  • Home
  • Soluções
    • Arquitetura Ágil como Serviço
    • Agile Development
    • Go To Cloud & Cloud Apps
    • Automatização de Processos e Integrações
  • Clientes & Parceiros
  • Seja Mult
  • Fale Conosco
  • Materiais Ricos
  • Blog
  • +55 31 3194 0400
BLOG
RECEBA CONTEÚDOS GERADOS POR ESPECIALISTAS ASSINE AGORA
CATEGORIAS
  • Arquitetura Ágil como Serviço
  • Agile Development
  • Go To Cloud & Cloud Apps
  • Automatização de Processos e Integrações
  • Método Ágil
  • DevOps

    Autor
    Por: Grupo Mult
    12 de dezembro de 2018
    4 minutos de leitura

    COMPARTILHE:

    Como Gerenciar e Integrar Dados em Microsserviços?

    A tarefa de integrar dados em microsserviços é uma das principais preocupações de quem opta por adotar essa arquitetura de desenvolvimento. Em microsserviços, os bancos de dados devem funcionar de forma independente, mas consistente.

    Por isso, gerenciar dados em microsserviços de forma eficiente é a única maneira de garantir a consistência dos dados e assegurar que todos os serviços funcionem em sua eficiência máxima. Entenda mais sobre o assunto!

    Os desafios de integrar dados em microsserviços

    O armazenamento separado de dados para cada serviço é uma premissa dos microsserviços e faz parte de um dos principais objetivos ligados à adoção desse tipo de arquitetura: a garantia de independência dos serviços.

    Se diversos serviços usarem o mesmo banco de dados, podem surgir problemas como a interferência de desempenho entre os serviços, falta de escalabilidade e a impossibilidade de usar formato de dados que são mais adequados para cada serviço.

    Ou seja, o compartilhamento de banco de dados geralmente é descartado quando os microsserviços são usados.

    No entanto, essa abordagem leva a desafios como a redundância de dados, que podem ficar duplicados e levar a problemas de consistência.

    Se um dado é atualizado, essa atualização será replicada para todos os serviços?

    Nesse contexto, o principal objetivo de gerenciar dados em microsserviços é garantir que os bancos de dados de cada microsserviço continuem funcionando de forma independente um do outro, mas que ainda exista consistência e integração entre eles.

    Como gerenciar dados em microsserviços

    Ao migrar da arquitetura monolítica para os microsserviços, é preciso ter uma estratégia para extrair os dados do bloco único e levá-los para cada microsserviço.

    Geralmente, isso é feito seguindo quatro passos:

    1. Criação do serviço e delimitação dos dados a serem utilizados por ele;
    2. Desacoplamento das aplicações da arquitetura monolítica migrando-as para o microsserviço recém-criado;
    3. Movimentação dos dados do banco compartilhado para um novo banco de dados privado;
    4. Repetição desse processo até que todas as aplicações sejam levadas do monolítico para os microsserviços.

    Uma vez separados, é preciso adotar medidas para integrar dados e garantir a persistência e a consistência deles. A missão de integrar dados pode ser realizada por meio de um banco de dados relacional.

    Para isso, podem ser utilizados diferentes modelos de consistência de dados.

    A seguir, você vai conhecer alguns conceitos ligados a eles.

    Consistência Forte versus Consistência Eventual

    Consistência forte significa que uma variável que aparece em diferentes partes do sistema só é atualizada quando todos os nós concordam com o novo valor.

    Se a variável é alterada em apenas um nó, nenhuma mudança é visível para o cliente. Esse tipo de semântica é usada, por exemplo, em transações.

    A consistência eventual permite mais flexibilidade aos microsserviços.

    Pode ocorrer, em um sistema distribuído, que um nó seja atualizado e o novo valor exibido, mesmo que os demais nós ainda estejam exibindo um valor desatualizado. Ou seja, a consistência eventual permite que exista um delay entre os nós do sistema. Dessa forma, os dados exibidos não estão incorretos, mas desatualizados.

    CRUD versus CQRS

    CRUD é o acrônimo para Create, Read, Update and Delete e representa as 4 operações básicas de um banco de dados que são criar, ler, atualizar e apagar.

    Usar a arquitetura de CRUD significa que todas as quatro operações são realizadas utilizando o mesmo modelo de banco de dados.

    Em contrapartida, com o CQRS (Command Query Responsibility Segregation) a responsabilidade de escrita e de leitura são separadas. Dentro do banco de dados, são utilizadas diferentes classes ou tabelas para a gravação e para a leitura.

    Por exemplo, você pode gravar uma tabela completa com todos os dados do cliente.

    Para a leitura, você pode criar um modelo de dados diferente para cada transação que contenha apenas os dados necessários para aquela operação.

    Ferramentas de ETL

    Ferramentas de ETL (Extract, Transformation, Load ou em português extração, transformação e carregamento) são usadas para acessar dados de diferentes fontes.

    Os dados extraídos de diferentes bancos são transformados de acordo com as regras predefinidas e, em seguida, são carregados nos seus destinos.

    Algumas características das ferramentas de ETL são:

    • a atualização depende de um gatilho externo, que pode ser on demand ou um timer;
    • podem ser integrados dados provenientes de diversos modelos de bancos de dados;
    • a consistência nas ferramentas de ETL é eventual;
    • as ferramentas de ETL permitem integrar dados somente para leitura e não para gravação.

    Quer mais informações sobre microsserviços, baixe agora um e-book gratuito e confira nossas dicas sobre como resolver problemas de integrações!


    Tags: Integração de Dados, Microsserviços

    VEJA TAMBÉM

    • Monitoramento de microsserviços: entenda as 5 principais etapas

      Monitoramento de microsserviços: entenda as 5 principais etapas

    • Monitoramento de Microsserviços: conheça 5 princípios básicos

      Monitoramento de Microsserviços: conheça 5 princípios básicos

    • Desafios na Implementação da Arquitetura de Microsserviços

      Desafios na Implementação da Arquitetura de Microsserviços

    Multron
    RECEBA CONTEÚDOS GERADOS POR ESPECIALISTAS

      Grupo Mult - Somos Mult com e por você!
      facebook instagram linkedin youtube

      CONTATO

      Rua Rio de Janeiro, 2702, 9º andar
      Bairro Lourdes, Belo Horizonte – MG
      +55 31 3194 0400

      MAPA DO SITE

      • Home
      • Arquitetura Ágil como Serviço
      • Agile Development
      • Go To Cloud & Cloud Apps
      • Automatização de Processos e Integrações
      • Método Ágil
      • DevOps
      • Blog
      • Clientes & Parceiros
      • Seja Mult
      • Fale Conosco
      • Materiais Ricos
      • Política de privacidade

      LEIA NO BLOG

      • Conceitos de Arquitetura Intencional e Arquitetura Emergente
      • Conhecendo um pouco sobre a Governança de Arquitetura
      • Benefícios da Arquitetura Corporativa: conheça os principais
      • Product Discovery: como ele pode alavancar a eficácia de seu software?
      © Copyright 2022 Grupo Mult - Todos os direitos reservados
      AB Agência Digital

      Usamos cookies para otimizar as funcionalidades do site, personalizar o conteúdo proposto e dar a você a melhor experiência possível. Saiba mais em nossa Política de Privacidade. Personalizar Cookies

      A sua privacidade

      Aqui, prezamos pela sua privacidade e garantimos a proteção de seus dados pessoais! Destacamos que utilizamos cookies para melhorar sua experiência no site conforme a nossa Política de Privacidade

      Cookies estritamente necessários

      Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

      Cookies de desempenho

      Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

      Cookies de publicidade

      Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

      Política de Cookies

      Mais informações sobre nossa Política de Cookies