quarta-feira, 30 de setembro de 2020

Fundamentos de Arquitetura de Sistemas Web

Tags

Introdução ao funcionamento da Web

 HTTP é um protocolo usado para obter recursos como documentos HTML e possibilitar a troca de dados na Web. Ele utiliza a arquitetura cliente-servidor, onde as requisições são iniciadas por algum tipo de aplicação e em seguida enviadas para o servidor que poderá de retornar uma resposta.

Os servidores de proxy de encaminhamento ou convencional, responsáveis por intermediar/despachar as conexões de saída entre clientes e servidores, são utilizados para fazer filtragens, e melhorar a segurança de redes.

 Já um proxy reverso é capaz de repassar o tráfego de rede recebido, para um conjunto de servidores, se tornando a principal interface para requisições externas.

Tipos de Arquitetura

Monolito: tipo de aplicação na qual todo o código base está contido em um só lugar, tendo assim todas as funcionalidades definidas no mesmo bloco. Esses blocos são comumente divididos entre camadas de abstração como: Apresentação (a camada visualizada pelo usuário), Negócio (toda a lógica e regras da aplicação, Dados (camada de conexão com redes e banco de dados).

Prós:

      Baixa complexidade

      Monitoramento Simplificado (Facilidade em colocar logs e monitoramento, por ter um único código base)

Contras:

      Stack única (dificuldade em adicionar serviços em linguagens diferentes)

      Compartilhamento de recursos (Não há a possibilidade de aumentar a capacidade da aplicação em único recurso ou funcionalidade).


Microserviços: várias aplicações se comunicam entre si através de várias apis leves, os serviços são criados com uma única função, assim é possível ter uma escalabilidade flexível ao sistema.

Message Broker: intermediário de mensagens, converte uma mensagem para o protocolo formal do destinatário.

Prós:

      Stack dinâmica

      Simples escalabilidade

      Desacoplamento (com message brockers)

      Menor complexidade (com pipeline manager cria uma de fila de requisições)

Contra:

      Acoplamento (um serviço tem uma dependência direta de outro, pode ser resolvido com message brocker entre serviços “uma interface entre serviços”, porém o message brocker torna-se um ponto único de falha)

      Monitoramento mais complexo

      Provisionamento mais complexo





EmoticonEmoticon