Visão Geral dos Componentes do Balanceador de Carga

Este capítulo fornece uma visão geral dos componentes do Balanceador de Carga e inclui as seguintes seções:

Para obter uma lista de alto nível dos recursos de configuração que são fornecidos por cada um dos componentes do Balanceador de Carga e para ajudá-lo a planejar quais recursos usar para gerenciar sua rede, consulte Gerenciando Sua Rede: Determinando Quais Recursos do Balanceador de Carga a Serem Usados.

Quais São os Componentes do Balanceador de Carga?

Os cinco componentes do Balanceador de Carga são: Dispatcher, Content Based Routing (CBR), Site Selector, Controlador Cisco CSS e Controlador Nortel Alteon. O Balanceador de Carga oferece a flexibilidade para usar os componentes separadamente ou juntos, dependendo da configuração do site. Esta seção fornece uma visão geral desses componentes.

Visão Geral do Componente Dispatcher

O componente Dispatcher faz o balanceamento do tráfego entre os servidores por meio de uma combinação exclusiva do balanceamento de carga e do software de gerenciamento. O Dispatcher também pode detectar um servidor com falha e encaminhar o tráfego em torno dele. O Dispatcher suporta HTTP, FTP, SSL, SMTP, NNTP, IMAP, POP3, Telnet, SIP e qualquer outro TCP ou aplicativo baseado em UDP stateless.

Todos os pedidos do cliente enviados para a máquina do Dispatcher são direcionados para o "melhor" servidor, de acordo com os pesos que são configurados dinamicamente. É possível usar os valores padrão para aqueles pesos ou alterar os valores durante o processo de configuração.

O Dispatcher oferece três métodos de encaminhamento (especificados na porta):

O componente Dispatcher é a chave para o gerenciamento estável e eficiente de uma rede de servidores grande e escalável. Com o Dispatcher, é possível vincular muitos servidores individuais no que parece ser um servidor único e virtual. Seu site é apresentado como um endereço IP único para o mundo. O Dispatcher funciona independentemente de um servidor de nomes de domínio. Todos os pedidos são enviados para o endereço IP da máquina do Dispatcher.

O Dispatcher oferece vantagens distintas no balanceamento de carga de tráfego para servidores de cluster, resultando no gerenciamento estável e eficiente de seu site.

Gerenciando Servidores Locais com o Dispatcher

Figura 1. Exemplo de uma representação física de um site que usa o Dispatcher para gerenciar servidores locais
Representação física de site que usa o Dispatcher para gerenciar servidores locais

O Figura 1 mostra uma representação física do site que usa uma configuração de rede Ethernet. A máquina do Dispatcher pode ser instalada sem fazer nenhuma mudança física na rede. Depois que o pedido do cliente for direcionado para o servidor ideal pelo Dispatcher, a resposta é enviada diretamente do servidor para o cliente sem nenhum envolvimento pelo Dispatcher ao usar o método de encaminhamento MAC.

Gerenciando Servidores Que Usam o Dispatcher e o Metric Server

Figura 2. Exemplo de um site que usa o Dispatcher e o Metric Server para gerenciar servidores
Site com os servidores de gerenciamento Dispatcher e Metric Server

O Figura 2 ilustra um site no qual todos os servidores estão em uma rede local. O componente Dispatcher é usado para encaminhar pedidos, e o Metric Server é usado para fornecer informações de carregamento do sistema para a máquina do Dispatcher.

Neste exemplo, o daemon do Metric Server está instalado em cada servidor de back-end. É possível usar o Metric Server com o componente Dispatcher ou com qualquer um dos outros componentes do Balanceador de Carga.

Gerenciando Servidores Locais e Remotos com o Dispatcher

Figura 3. Exemplo de um site que usa o Dispatcher para gerenciar servidores locais e remotos
Site com o Dispatcher gerenciando servidores locais e remotos

O suporte da área de longa distância no Dispatcher permite usar servidores locais e remotos (servidores em diferentes sub-redes). O Figura 3 mostra uma configuração na qual um Dispatcher local (Dispatcher 1) serve como o ponto de entrada de todos os pedidos. Ele distribui esses pedidos entre seus próprios servidores locais (ServerA, ServerB, ServerC) e para o Dispatcher remoto (Dispatcher 2), que fará o balanceamento de carga para seus servidores locais (ServerG, ServerH, ServerI).

Durante o uso do método de encaminhamento NAT do Dispatcher ou uso de suporte GRE, o suporte à longa distância com o Dispatcher também pode ser obtido usando um Dispatcher no site remoto (onde o ServerD, ServerE e ServerF estão localizados). Consulte NAT/NAPT do Dispatcher (Método de Encaminhamento NAT) e Suporte a GRE (Generic Routing Encapsulation) para obter informações adicionais.

Visão Geral do Componente Content Based Routing (CBR)

O CBR trabalha com Caching Proxy para colocar solicitações de cliente em proxy para servidores HTTP ou HTTPS (SSL) especificados. Ele permite manipular detalhes do armazenamento em cache para a rápida recuperação de documentos da Web com baixos requisitos de largura de banda da rede. CBR e Caching Proxy examinam solicitações de HTTP usando tipos de regra especificados.

Nota:
O componente Content Based Routing (CBR) não está disponível em plataformas que executam um JVM de 64 bits, exceto para HP-UX ia64. No HP-UX ia64, o componente CBR executa como um aplicativo de 32 bits. É possível usar o método de encaminhamento CBR do componente Dispatcher do Balanceador de Carga para fornecer roteamento baseado em conteúdo sem o uso do Caching Proxy. Consulte roteamento baseado em conteúdo do Dispatcher (Método de Encaminhamento CBR) para obter informações adicionais.

O CBR fornece a capacidade de especificar um conjunto de servidores que tratam de uma solicitação com base na expressão regular correspondente ao conteúdo da solicitação. Como o CBR permite especificar diversos servidores para cada tipo de solicitação, as solicitações podem ter a carga balanceada para uma resposta de cliente otimizada. O CBR também detecta quando um servidor em um conjunto falha e para de rotear solicitações para esse servidor. O algoritmo de balanceamento de carga usado pelo componente CBR é idêntico ao algoritmo comprovado usado pelo componente Dispatcher.

Quando uma solicitação é recebida pelo Caching Proxy, ela é verificada com relação às regras que foram definidas no componente CBR. Se uma correspondência for localizada, um dos servidores associados a essa regra será escolhido para tratar da solicitação. O Caching Proxy então executa seu processamento normal para colocar a solicitação em proxy para o servidor escolhido.

O CBR tem as mesmas funções do Dispatcher, com exceção de alta disponibilidade, subagente SNMP, longa distância e de alguns outros comandos de configuração.

O Caching Proxy deve estar em execução antes de o CBR poder iniciar solicitações do cliente de balanceamento de carga.

Gerenciando Servidores Locais com CBR

Figura 4. Exemplo de um Site Usando CBR para Gerenciar Servidores Locais
Site com CBR Gerenciando Servidores Locais

Figura 4 mostra uma representação lógica de um site no qual o CBR está sendo usado para colocar em proxy alguns conteúdos de servidores locais. O componente CBR usa Caching Proxy para encaminhar solicitações de cliente (HTTP ou HTTPS) para os servidores com base no conteúdo da URL.

Visão Geral do Componente Site Selector

O Site Selector age como um servidor de nomes que trabalha junto com outros em um sistema de nome de domínio para fazer o balanceamento de carga entre um grupo de servidores usando medidas e pesos que são reunidos. É possível criar uma configuração de site para permitir que você faça o balanceamento de carga do tráfego entre um grupo de servidores com base no nome do domínio usado para uma solicitação do cliente.

Um cliente envia uma solicitação para a resolução de um nome de domínio para um servidor de nomes dentro de sua rede. O servidor de nomes encaminha a solicitação para a máquina do Site Selector. O Site Selector então resolve o nome de domínio para o endereço IP de um dos servidores que foi configurado sob o nome do site. O Site Selector retorna o endereço IP do servidor selecionado para o servidor de nomes. O servidor de nomes retorna o endereço IP para o cliente.

O Metric Server é um componente de monitoramento de sistema do Balanceador de Carga que deve ser instalado em cada servidor com carga balanceada em sua configuração. Usando o Metric Server, o Site Selector pode monitorar o nível de atividade em um servidor, detectar quando um servidor é o que tem carga menos pesada e detectar um servidor com falha. O carregamento é uma medida para saber se o servidor está trabalhando pesado. Ao customizar arquivos de script de métrica do sistema, é possível controlar o tipo de medidas usadas para medir a carga. É possível configurar o Site Selector para se adequar ao seu ambiente, considerando fatores como frequência de acesso, número total de usuários e tipos de acesso (por exemplo, consultas curtas, consultas de longa execução ou cargas intensivas de CPU).

Gerenciando Servidores Locais e Remotos com Site Selector e Metric Server

Figura 5. Exemplo de um Site Usando o Site Selector e o Metric Server para Gerenciar Servidores Locais e Remotos
Site com Site Selector e Metric Server Gerenciando Servidores

Figura 5 ilustra um site no qual o componente Site Selector é usado para responder a solicitações. Server1, Server2 e Server3 são locais. Server4, Server5 e Server6 são remotos.

Um cliente envia uma solicitação de resolução de um nome de domínio para um servidor de nomes de cliente. O servidor de nomes de cliente encaminha a solicitação por meio do DNS para a máquina do Site Selector (Caminho 1). O Site Selector então resolve o nome de domínio para o endereço IP de um dos servidores. O Site Selector retorna o endereço IP do servidor selecionado para o servidor de nomes de cliente. O servidor de nomes retorna o endereço IP para o cliente.

Após o cliente receber o endereço IP do servidor, o cliente roteia solicitações de aplicativo diretamente para o servidor selecionado (Caminho 2).

Nota:
Neste exemplo, o Metric Server fornece informações de carregamento do sistema para a máquina do Site Selector. O agente Metric Server está instalado em cada servidor de back-end. Use o Metric Server junto com o Site Selector; caso contrário, o Site Selector só poderá usar um método de seleção round-robin para balanceamento de carga.

Visão Geral do Componente Controlador Cisco CSS

Nota:
O componente Controlador Cisco CSS é fornecido com o Load Balancer para IPv4, mas esse componente pode não suportar produtos de hardware mais novos. Consulte a página de pré-requisitos para o hardware suportado: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27006921

Controlador Cisco CSS forma uma solução complementar junto com os comutadores da série CSS 11000 do Cisco. A solução combinada combina o encaminhamento de pacote robusto e os recursos de roteamento de conteúdo da série CSS 11000 com os algoritmos de reconhecimento sofisticados do Balanceador de Carga para determinar as informações de carregamento e a disponibilidade do serviço (banco de dados ou aplicativo do servidor de back-end). A função do Controlador Cisco CSS utiliza algoritmo de cálculo de peso, orientadores padrão e customizado e Metric Server do Balanceador de Carga para determinar as métricas, o funcionamento e o carregamento do serviço. Com essas informações, o Controlador Cisco CSS gera pesos de serviço, que envia para o Comutador Cisco CSS para obter seleção de serviço, otimização de carregamento e tolerância a falhas ideais.

Controlador Cisco CSS controla vários critérios, incluindo:

Quando um Comutador Cisco CSS, sem Controlador Cisco CSS, está determinando o funcionamento de um serviço de fornecimento de conteúdo, ele usa tempos de resposta para solicitações de conteúdo ou outras medidas de rede. Com o Controlador Cisco CSS adequado, essas atividades são transferidas do Comutador Cisco CSS para o Controlador Cisco CSS. O Controlador Cisco CSS influencia o peso do serviço ou a capacidade de entrega de conteúdo, além de ativar ou suspender um serviço conforme apropriado quando ele ganha novamente ou perde disponibilidade.

Controlador Cisco CSS:

Pesos são aplicados a todos os serviços em uma porta. Para qualquer porta específica, as solicitações são distribuídas entre serviços em seus pesos relativos entre si. Por exemplo, se um serviço estiver configurado para um peso igual a 10 e o outro para 5, o serviço configurado para 10 obtém duas vezes mais solicitações que o serviço configurado para 5. Esses pesos são fornecidos para o Comutador Cisco CSS usando SNMP. Como o peso de qualquer serviço é configurado como mais alto, o Comutador Cisco CSS direciona mais solicitações para esse serviço.
Figura 6. Exemplo de um Site Usando Controlador Cisco CSS e Metric Server para Gerenciar Serviços Locais
Site com Controlador Cisco CSS e Metric Server Gerenciando Serviços

O Controlador Cisco CSS, junto com o Comutador Cisco CSS, entrega a solução "melhor dos dois mundos" que combina alternância de conteúdo wire-speed com reconhecimento de aplicativo sofisticado, tolerância a falhas e otimização de carregamento de serviço. O Controlador Cisco CSS faz parte de uma solução complementar geral entre o Comutador Cisco CSS e o IBM® WebSphere Application Server Load Balancer.

Visão Geral do Componente Controlador Nortel Alteon

Nota:
O componente Controlador Nortel Alteon é fornecido com o Load Balancer para IPv4, mas esse componente pode não suportar produtos de hardware mais novos. Consulte a página de pré-requisitos para o hardware suportado: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27006921

O Controlador Nortel Alteon, junto com a família Nortel Alteon de comutadores da Web, fornece uma solução complementar que combina capacidade e velocidade de encaminhamento de pacotes de comutadores com os algoritmos de reconhecimento sofisticados do Load Balancer para determinar pesos de servidores.

O Controlador Nortel Alteon permite desenvolver orientadores customizados capazes de executar avaliações de reconhecimento de aplicativos mais inteligentes da disponibilidade e do carregamento dos aplicativos que são usados para implementar serviços.

O Metric Server fornece informações de carregamento do sistema, como informações de utilização de CPU e memória, e uma estrutura para você desenvolver medidas de carregamento do sistema customizadas.

O Controlador Nortel Alteon coleta vários tipos de dados de métrica para determinar pesos para servidores tendo a carga balanceada por Nortel Alteon Web Switches, incluindo:

Controlador Nortel Alteon usa SNMP para se comunicar com o comutador. As informações de configuração, estado e conexão são recuperadas do comutador. Quando pesos de servidor são calculados pelo controlador, eles são configurados no comutador. O comutador usa os pesos configurados pelo controlador para selecionar o melhor servidor para lidar com solicitações de clientes para um serviço.

Figura 7. Exemplo de um Site Usando Controlador Nortel Alteon para Gerenciar Servidores Locais
Site com Controlador Nortel Alteon Gerenciando Servidores

É possível gerenciar o controlador usando um navegador, uma GUI remota ou uma interface de linha de comandos remota.

O Controlador Nortel Alteon combinado com a família Nortel Alteon de comutadores da Web entrega a solução "melhor dos dois mundos", que combina alternância de pacote wire-speed com reconhecimento de aplicativo sofisticado, tolerância a falhas e otimização de carregamento de servidor. O Controlador Nortel Alteon faz parte de uma solução complementar entre a família Nortel Alteon de comutadores da Web e WebSphere da IBM.