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 ciber-ataques 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.