Skip to content

Commit

Permalink
Adiciona arquitetura
Browse files Browse the repository at this point in the history
  • Loading branch information
OscarDeBrito committed Apr 4, 2024
1 parent 122a019 commit aa392af
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 4 deletions.
Binary file added docs/assets/arquitetura.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/pp.pdf
Binary file not shown.
35 changes: 35 additions & 0 deletions docs/info/arquitetura.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
Arquitetura de uma aplicação com uma API REST, onde os clientes interagem com servidores que, por sua vez, interagem com um banco de dados MySQL e um armazenamento de sessão no Redis.

### Clientes
- **Função:** São os usuários finais ou sistemas que fazem requisições para a API.
- **Interação:** Fazem requisições HTTP para os servidores e recebem respostas em formato JSON.

### Servidores
- **Função:** Provedores da API REST que processam as requisições dos clientes.
- **Interação com Banco de Dados:** Realizam operações CRUD (Criar, Ler, Atualizar, Deletar) no banco de dados MySQL.
- **Interação com Redis:** Utilizam o Redis para gerenciamento de sessão dos usuários.

### Banco de Dados MySQL
- **Função:** Armazenamento persistente dos dados da aplicação.
- **Operações CRUD:** Recebe comandos dos servidores para realizar operações CRUD.

### Sessão no Redis
- **Função:** Armazenamento de dados de sessão para usuários autenticados.
- **Interação:** Os servidores lêem e escrevem dados de sessão para gerenciar o estado da sessão dos clientes.

### Fluxo Geral
1. O cliente faz uma requisição HTTP para o servidor.
2. O servidor processa a requisição, que pode envolver:
- A leitura ou escrita de informações no banco de dados MySQL.
- A verificação ou atualização de dados de sessão no Redis.
3. Após processar a requisição, o servidor envia uma resposta em formato JSON de volta ao cliente.

### Observações
- **Escalabilidade:** A presença de múltiplos servidores sugere que a arquitetura foi projetada para escalar horizontalmente.
- **Performance:** O uso do Redis para sessões indica uma preocupação com a velocidade de acesso aos dados de sessão, que são geralmente mais voláteis e acessados com frequência.
- **Segurança:** A gestão de sessões no Redis sugere que o sistema implementa mecanismos de autenticação e possivelmente de autorização.
- **Disponibilidade:** A arquitetura sugere que há redundância nos servidores para garantir a disponibilidade do serviço.

A arquitetura é representativa de muitas aplicações web modernas que buscam desempenho, escalabilidade e confiabilidade.
<iframe src="../../assets/arquitetura.png" width="100%" height="600px">
</iframe>
6 changes: 2 additions & 4 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,11 @@ nav:
- Atas de Reunião:
- Ata 1: atas/ata1.md
- Ata 2: atas/ata2.md
- Contribuições: info/contribuir.md


- Arquitetura e Protótipo:
- Protótipo: info/prototipo.md
- Arquitetura: info/frontend.md
- Contribuições: info/contribuir.md
- Arquitetura: info/arquitetura.md
- Bando de dados: info/contribuir.md

plugins:
- search
Expand Down

0 comments on commit aa392af

Please sign in to comment.