Arquitetura cliente / servidor

Definição - O que significa Arquitetura Cliente / Servidor?

A arquitetura cliente / servidor é um modelo de computação no qual vários componentes trabalham em funções estritamente definidas para se comunicarem. O servidor hospeda, entrega e gerencia a maioria dos recursos e serviços a serem consumidos pelo cliente. Este tipo de arquitetura de recursos compartilhados possui um ou mais computadores clientes conectados a um servidor central por meio de uma rede ou conexão com a Internet.

A arquitetura cliente / servidor também é conhecida como modelo de computação em rede ou rede cliente / servidor porque todas as solicitações e serviços são entregues em uma rede. É considerado uma forma de sistema de computação distribuída porque os componentes estão fazendo seu trabalho independentemente uns dos outros.

Definirtec explica a arquitetura cliente / servidor

Em uma arquitetura cliente / servidor, o servidor atua como produtor e o cliente como consumidor. O servidor hospeda e fornece serviços de alta tecnologia com uso intensivo de computação para o cliente sob demanda. Esses serviços podem incluir acesso a aplicativos, armazenamento, compartilhamento de arquivos, acesso à impressora e / ou acesso direto ao poder de computação bruto do servidor.

A arquitetura cliente / servidor funciona quando o computador cliente envia uma solicitação de recurso ou processo ao servidor pela conexão de rede, que é então processada e entregue ao cliente. Um computador servidor pode gerenciar vários clientes simultaneamente, enquanto um cliente pode ser conectado a vários servidores ao mesmo tempo, cada um fornecendo um conjunto diferente de serviços.

O modelo cliente / servidor, à medida que evoluiu, serviu muito bem para o que alguns chamam de web 2.0, onde a Internet lentamente se tornou um espaço virtual funcional para os usuários. Ele forneceu um modelo estabelecido e previsível de como seriam as sessões de usuário e como os provedores distribuíam recursos com base nas solicitações de pacotes de dados e outros recursos.

Exemplo de comunicações cliente / servidor

Aqui está um exemplo de como funcionam as comunicações cliente / servidor. Em um uso médio de um navegador para acessar um site do lado do servidor, o usuário ou cliente insere a URL. O servidor DNS procura o endereço IP do servidor da web e o fornece ao navegador. O navegador gera uma solicitação HTTP ou HTTPS e o servidor, como produtor, envia os arquivos. O cliente, como consumidor, os recebe e, normalmente, envia solicitações de acompanhamento.

Embora esse modelo funcione tecnicamente para qualquer número de processos semelhantes, ele tem algumas desvantagens. Com o tempo, surgiu uma alternativa chamada modelagem ponto a ponto ou P2P, que muitos consideram superior em alguns aspectos aos modelos cliente / servidor tradicionais, especialmente em termos de lidar com desafios específicos onde as comunicações são mais evoluídas.

Problemas com Modelos Cliente / Servidor

Um dos maiores problemas com uma configuração cliente / servidor tradicional é a natureza das cargas de trabalho imprevisíveis.

Ao definir sistemas cliente / servidor como sistemas que escalam verticalmente e usam armazenamentos de dados centrais, alguns analistas acreditam que ponto a ponto é mais ágil e versátil para garantir que cargas de trabalho imprevisíveis sejam bem gerenciadas. Os especialistas falam sobre coisas como redundância e zonas de disponibilidade e failover como um meio de manter os sistemas de negócios online funcionando sem problemas, apesar das mudanças na demanda ou outros problemas.

Por exemplo, outro grande problema é a utilidade de um ataque distribuído de negação de serviço (DDoS). Nesse tipo de ataque, a atividade do cliente fora de controle inunda um servidor. Aqueles que estão olhando para a Internet algumas décadas atrás apontam que era bastante fácil inundar um site com um ataque DDoS porque o modelo cliente / servidor médio não estava configurado para limites acima de uma certa quantidade de tráfego.

Os sistemas ponto a ponto podem resolver muitos desses problemas e proteger os sistemas contra ataques DDoS e ciberataques semelhantes. Ponto a ponto também é útil para lidar com alguns tipos de outras interrupções com base em um único ponto de falha.

Com o surgimento de sistemas descentralizados e distribuídos, por exemplo, tecnologias de ledger imutáveis ​​em blockchain, os sistemas ponto a ponto estão se tornando mais populares e começando a substituir as arquiteturas cliente / servidor.