-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
122a019
commit aa392af
Showing
4 changed files
with
37 additions
and
4 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters