Arquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
Modelo de arquitetura de software que divide a aplicação em dois componentes principais: cliente (solicitante de serviços) e servidor (provedor de serviços), comunicando-se via rede.
Componentes Principais
- Cliente: Inicia requisições, consome recursos (ex.: navegador, aplicativo móvel)
- Servidor: Processa requisições e retorna respostas (ex.: servidor web, banco de dados)
Características-Chave
- Comunicação via protocolos (HTTP, FTP, TCP/IP)
- Separação de responsabilidades
- Escalabilidade vertical (adicionar recursos ao servidor)
- Centralização do gerenciamento de dados
Vantagens
- Facilidade de manutenção
- Segurança centralizada
- Compatibilidade multiplataforma
- Eficiência no compartilhamento de recursos
Desvantagens
- Ponto único de falha (servidor)
- Possíveis gargalos de rede
- Custo de infraestrutura do servidor
Tipos Comuns
- 2-Tier: Cliente + Servidor (ex.: aplicação desktop com banco de dados)
- 3-Tier: Cliente + Servidor de Aplicação + Servidor de Banco de Dados
- N-Tier: Camadas adicionais (ex.: servidor web, API, cache)
Aplicações Típicas
- Sistemas web (e-commerce, redes sociais)
- Aplicativos bancários
- Sistemas corporativos (ERP, CRM)