O que é afinidade do servidor?
Quando um usuário faz login em um sistema de computador na Internet, ele pode estar usando a tecnologia de afinidade do servidor subjacente. Essa é uma técnica em que um usuário individual está vinculado a um servidor de computador específico na Internet. Essa correlação de um para um é normalmente necessária para aplicativos de computador que armazenam informações críticas em um indivíduo. Alguns exemplos incluem sistemas de pagamento de contas online, serviços bancários e de varejo.
A afinidade do servidor é uma técnica de computador em que as informações do cliente são salvas temporariamente em um dispositivo de computador para permitir a conclusão de transações de vendas online. Isso é usado com mais frequência em programas de vendas no varejo. Ele garante que uma transação permaneça intacta no servidor até a compra ser concluída.
A maioria dos aplicativos de computador grandes são distribuídos por vários clusters de servidores. Esse processo distribuído requer uma forma de afinidade do servidor para garantir que a atividade da sessão do usuário esteja disponível para cada solicitação. Um balanceador de carga geralmente gerencia esse processo de maneira semelhante a um policial de trânsito automatizado. À medida que cada solicitação subsequente é interpretada, o balanceador de carga determina qual servidor deve gerenciar o processo.
Existem várias maneiras de fazer a afinidade do servidor funcionar. Uma das técnicas mais amplamente usadas é conhecida como gerenciamento de sessões persistentes. Este é um processo em que as informações da sessão do usuário são armazenadas na memória local do servidor que iniciou a transação inicial. Essas informações também são salvas no computador local para cada solicitação adicional como um cookie. Se o usuário fizer solicitações adicionais, ele será automaticamente direcionado ao servidor que iniciou a transação.
A afinidade do servidor coloca algumas limitações em um aplicativo de computador. Essa técnica geralmente afeta o desempenho, a flexibilidade e a confiabilidade. Quando um programa usa essa abordagem, força as solicitações a irem para servidores específicos no cluster. Se esses servidores ficarem sobrecarregados ou indisponíveis, o usuário normalmente receberá uma mensagem de erro informando que o site da Internet está inativo, mesmo que outros servidores estejam disponíveis.
Quando um sistema de computador distribuído é realmente com balanceamento de carga, cada solicitação é roteada para um servidor diferente. Essa abordagem de balanceamento de carga é diminuída quando técnicas de afinidade do servidor são aplicadas. O balanceador de carga é forçado a enviar solicitação para máquinas específicas, o que pode causar uma sobrecarga na caixa com solicitações.
É importante considerar outras opções antes de implementar soluções de afinidade de servidor. Isso normalmente limita o desempenho e a escalabilidade de um aplicativo baseado na Internet, o que afeta diretamente o uso do aplicativo. Algumas opções melhores incluem armazenamento de memória local e técnicas de armazenamento de banco de dados que permitem solicitações sem estado para o aplicativo.