Please enable JavaScript.
Coggle requires JavaScript to display documents.
Fundamentos de arquitetura - Coggle Diagram
Fundamentos de arquitetura
carcacterísticas operacionais
Disponibilidade
Recuperação de desastre
Performace
Backup
Segurança
Robustez
Escalabilidade
Características Estruturais
Configurável
Extensibilidade
Fácil instalação
Reuso de componentes
Cross cutting
Acessibilidade
Pespectivas para software de qualidade
Performace
Latência ou tempo de resposta
Throughput: quantidade de requisições que o software aguenta
Pontos de atenção
Processamento ineficiente
Recurso computacional
Trabalhar de forma bloqueante
Escala
Vertical: aumentar capacidade computacional
Horizontal: aumenta a quantidade de máquinas
Caching
Cache na borda: Faz o caching em um servidor anterior ao server principal
Dados estáticos: faz o cache de coisas como imagens, áudios e outros dados estáticos
]
Página web: faz o cache da página, html, css e js
Funções internas, faz o cache do resultados de funções complexas, algoritmos pesados além de evitar o acesso ao banco de dados
Faz o cache de objetos que são frequêntimente usados no sistema.
Exclusivo
Problema de sessão: uma vez que o cache é local, em sistemas que fazem uso de várias máquinas cada máquina vai ter que criar um cache do que o usuário acessa
Baixa latência: o cache é guardado na mesma máquina que ele é usado, garantido uma velocidade maior no acesso aos dados
Compartilhado
Maior latência: o cache é centralizado, fazendo com que não haja duplicação dos dados, mas como o cache fica em um serviço externo, a latência é maior
Resiliência: A capacidade de se adaptar aos erros que acontecerão
Um sistema que faz parte de um ambiente deve buscar evitar sobrecarregar outros sistemas quando esses não se mostram capazes de responder a demanda
Health check: É um sistema que realiza chamadas para um serviço e avalia sua saúde com base em seu tempo de resposta. as chamadas são feitas para um endpoint que realiza uma tarefa tão complexa quanto os outros endpoints da aplicação
Teste de stress
Rate Limiting: Estabelece um limite de requisições que o sistema vai aceitar, evitando que ele caia. A ferramenta consegue estabelecer o limite por tipo de cliente
CIrcuit breaker: Funciona como um dijuntor, caso a aplicação seja sobrecarregada o circuito é aberta e todas as requisições novas são recusadas
Service mash:
Garantia de entrega: Garantir que a mensagem foi entregue é essêncial para a resiliência, para realizar essa garantia pode ser necessário usar o retry para repetir as tentativas de comunicação