client-server-architecture

Definition pending verification.

Client-server architecture is a distributed computing model where tasks or workloads are partitioned between providers of a resource or service, called servers, and service requesters, called clients, facilitating efficient resource sharing and centralized management.

        graph LR
  Center["client-server-architecture"]:::main
  Pre_cryptography["cryptography"]:::pre --> Center
  click Pre_cryptography "/terms/cryptography"
  Rel_antimatter_propulsion["antimatter-propulsion"]:::related -.-> Center
  click Rel_antimatter_propulsion "/terms/antimatter-propulsion"
  Rel_arpanet["arpanet"]:::related -.-> Center
  click Rel_arpanet "/terms/arpanet"
  Rel_artificial_consciousness["artificial-consciousness"]:::related -.-> Center
  click Rel_artificial_consciousness "/terms/artificial-consciousness"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Teste de conhecimento

1 / 3

🧒 Explique como se eu tivesse 5 anos

Pense num restaurante: os clientes pedem comida da cozinha, e a cozinha prepara e envia a comida de volta para os clientes.

🤓 Expert Deep Dive

O modelo cliente-servidor é um padrão arquitetural fundamental na computação. Servidores são tipicamente projetados para alta disponibilidade e confiabilidade, frequentemente empregando balanceamento de carga, redundância e infraestrutura de rede robusta. Clientes, por outro lado, são otimizados para interação com o usuário e podem ter recursos limitados. Protocolos de comunicação definem o contrato entre cliente e servidor, permitindo a interoperabilidade. Exemplos comuns incluem APIs RESTful, onde clientes interagem com servidores através de requisições HTTP padronizadas (GET, POST, PUT, DELETE). As compensações arquiteturais envolvem a centralização versus a distribuição de controle e dados. Embora ofereça gerenciamento centralizado e atualizações mais fáceis, pode criar gargalos de desempenho e pontos únicos de falha. Alternativas como arquiteturas peer-to-peer (P2P) distribuem a funcionalidade entre todos os nós, aumentando a resiliência, mas complicando a coordenação e a consistência dos dados. Considerações de segurança são críticas, focando em autenticação, autorização, criptografia de dados em trânsito e proteção contra ataques de negação de serviço (DoS) no servidor.

🔗 Termos relacionados

Pré-requisitos:

📚 Fontes