1

Avanade Fullstack Developer

Fernando Batista
Fernando Batista

#1 Post na DIO [Sem anotações para as tarefas anteriores]


Anotações breves de estudo, tópicos simplificados para rápida recordação.


Fundamentos de Arquitetura de Sistemas

Conceito de arquitetura em Aplicações para Internet


Introdução


  • Tipos de arquitetura
  • Comparativo entre tipos de arquitetura
  • Gerenciamento de erros e volume de acesso


Tipos:


Monólito(App Clients seja Web ou Mobile) ⇒ Uma única aplicação, mais instância


Microsserviços:

#1 ⇒ Mais caótico (Comunicação direta, protocolo próprio ou HTTP)

#2 ⇒ Um serviço para cada alteração. Sem comunicação direta, comunicam-se pelo Message Broker

#3 ⇒ Serviço através de Pipeline


Comparando os modelos Monólito e Microsserviços


Monólito:

Pros ⇒ Baixa complexidade, Monitoramento Simplificado.

Contra ⇒ Stack única, compartilhamento de recursos, acoplamento, escalabilidade complexa.


Microsserviços #1:

Pros ⇒ Stack dinâmica, simples escalabilidade.

Contra ⇒ Acoplamento, monitoramento e provisionamento complexo.


Microsserviços #2:

Pros ⇒ Stack dinâmica, simples escalabilidade, desacoplamento(ganho, comunicação async).

Contra ⇒monitoramento e provisionamento complexo.


Microsserviços #3:

Pros ⇒ Stack dinâmica, simples escalabilidade, desacoplamento, menor complexidade

Contra ⇒ Provisionamento complexo, plataforma inteira depende do gerenciador de pipeline[Single Point of Failure]


Gerenciamento de erros e volume de acesso

Arquiteturas têm em comum um gerenciamento de erros e volume de acesso.

É mais complexo em comunicações assíncronas(Microsserviços #2).

Dead letter queue ⇒ fila separada message broker, assim que mensagem é processada e gera um erro (inconsistência). Adiciona na fila e tenta corrigir e processar a mensagem novamente.

Verificação os erros identificando os logs.

É complexo no pipeline, pois é preciso fazer rollback passos anteriores.

A solução pode encaixar com dead letter queue (async). Em sync é preciso sistema de rollback.

Geralmente, as soluções é dead letter queue e filas re-tentativas.

0
58

Comentários (0)

None

Brasil