Configurando Content Based Routing

Antes de seguir as etapas neste capítulo, consulte o Planejando o Content Based Routing. Este capítulo explica como criar uma configuração básica para o componente CBR do Balanceador de Carga.

Visão Geral das Tarefas de Configuração

Antes de iniciar as etapas de configuração nesta tabela, certifique-se de que a máquina do CBR e todas as máquinas servidores estejam conectadas à rede, tenham endereços IP válidos e estejam aptas a executar ping entre si.

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.
Tabela 4. Tarefas de Configuração para o Componente CBR
Tarefa Descrição Informações relacionadas
Configure a máquina do CBR. Descubra os requisitos. Configurando a Máquina do CBR
Configure as máquinas a ter a carga balanceada. Defina a configuração do balanceamento de carga. Etapa 7. Definir Máquinas do Servidor com Carga Balanceada

Métodos de Configuração

Para criar uma configuração básica para o componente CBR do Balanceador de Carga, existem quatro métodos básicos:

Para usar o CBR, o Caching Proxy deve estar instalado.

Nota:
Caching Proxy é um serviço que é iniciado automaticamente por padrão após a instalação. Você deve parar o Caching Proxy antes de iniciar a função de servidor do CBR (cbrserver) e modificar o serviço Caching Proxy para ser iniciado manualmente em vez de automaticamente.

Linha de comandos

Esse é meio de configuração mais direto do CBR. Os valores de parâmetro de comando devem ser inseridos em caracteres no idioma inglês. As únicas exceções são nomes de host (usados, por exemplo, em comandos de cluster e servidor) e nomes de arquivo.

Para iniciar o CBR a partir da linha de comandos:

É possível inserir uma versão abreviada dos parâmetros de comando cbrcontrol. Você precisa apenas inserir as letras exclusivas dos parâmetros. Por exemplo, para obter ajuda sobre o comando file save, é possível digitar cbrcontrol he f em vez de cbrcontrol help file.

Para inicializar a interface de linha de comandos: emita cbrcontrol para receber um prompt de comandos cbrcontrol.

Para terminar a interface da linha de comandos: emita exit ou quit.

Notas:
  1. Na plataforma Windows, o dsserver do componente Dispatcher é iniciado automaticamente. Se você estiver usando apenas o CBR, e não o componente Dispatcher, é possível impedir que o dsserver seja iniciado automaticamente da seguinte forma:
    1. Na janela Serviços, clique com o botão direito do mouse em IBM® Dispatcher.
    2. Selecione Propriedades.
    3. No campo Tipo de Inicialização, selecione Manual.
    4. Clique em OK e feche a janela Serviços.
  2. Ao configurar o Content Based Routing (CBR) a partir do prompt de comandos do sistema operacional em vez de o prompt cbrcontrol>>, tome cuidado com o uso destes caracteres:

    O shell do sistema operacional pode interpretá-los como caracteres especiais e convertê-los em texto alternativo antes de cbrcontrol avaliá-los.

    Os caracteres especiais na lista acima são caracteres opcionais no comando cbrcontrol rule add e são usados durante a especificação de um padrão para uma regra de conteúdo. Por exemplo, o comando a seguir pode ser válido apenas durante o uso do prompt cbrcontrol>>.

    rule add 10.1.203.4:80:cbr_prod_rule_ek type content
      pattern uri=/nipoek/*

    Para esse mesmo comando funcionar no prompt do sistema operacional, aspas duplas (" ") deverão ser colocadas ao redor do padrão da seguinte forma:

    cbrcontrol rule add 10.1.203.4:80:cbr_prod_rule_ek type content
      pattern "uri=/nipoek/*"

    Se as aspas não forem usadas, alguns padrões podem ficar truncados quando a regra for salva no CBR. Observe que as aspas não são suportadas com o uso do prompt de comandos cbrcontrol>>.

Scripts

É possível inserir comandos para configurar o CBR em um arquivo de script de configuração e executá-los juntos.

Nota:
Para executar rapidamente o conteúdo de um arquivo de script (por exemplo, myscript), use um dos seguintes comandos:

Para salvar a configuração atual em um arquivo de script (por exemplo, savescript), execute o seguinte comando:

cbrcontrol file save savescript

Esse comando salvará o arquivo script de configuração no seguinte diretório:

GUI

Para obter instruções gerais e um exemplo da Graphical User Interface (GUI), consulte Figura 38.

Para iniciar a GUI, siga estas etapas

  1. Certifique-se de que cbrserver esteja em execução. Como usuário raiz ou administrador, emita o seguinte a partir de um prompt de comandos: cbrserver
  2. Execute uma das seguintes ações, dependendo do sistema operacional:
  3. Inicie o Caching Proxy. (Na GUI, primeiro você deve se conectar ao Host e iniciar o Executor para o componente CBR antes de iniciar o Caching Proxy.) Execute um dos seguintes procedimentos:

Para configurar o componente CBR a partir da GUI, primeiro você deve selecionar Content Based Routing na estrutura em árvore. É possível iniciar o gerenciador após você se conectar a um Host. Também é possível criar clusters que contêm portas e servidores e iniciar orientadores para o gerenciador.

A GUI pode ser usada para fazer qualquer coisa que você faria com o comando cbrcontrol. Por exemplo, para definir um cluster usando a linha de comandos, você inseriria o comando cbrcontrol cluster addcluster . Para definir um cluster a partir da GUI, clique com o botão direito do mouse em Executor e, em seguida, no menu pop-up, clique com o botão esquerdo do mouse em Incluir Cluster. Insira o endereço do cluster na janela pop-up e clique em OK.

Arquivos de configuração do CBR pré-existentes podem ser carregados usando as opções Carregar Nova Configuração (para substituir completamente a configuração atual) e Anexar à Configuração Atual (para atualizar a configuração atual) apresentadas no menu pop-up Host. Você deverá salvar a configuração do CBR em um arquivo periodicamente usando a opção Salvar Arquivo de Configuração Como também apresentada no menu pop-up Host. O menu Arquivo localizado na parte superior da GUI permitirá salvar as conexões do host atual em um arquivo ou restaurar conexões em arquivos existentes por meio de todos os componentes do Balanceador de Carga.

É possível acessar a Ajuda clicando no ícone ponto de interrogação no canto superior direito da janela do Balanceador de Carga.

Para executar um comando a partir da GUI: destaque o nó Host da árvore da GUI e selecione Enviar comando... no menu pop-up Host. No campo de entrada do comando, digite o comando que deseja executar, por exemplo: executor report. Os resultados e o histórico dos comandos executados na sessão atual são exibidos na janela fornecida.

Para obter informações adicionais sobre como usar a GUI, consulte Apêndice A. GUI: Instruções Gerais.

Assistente de configuração

Se estiver utilizando o assistente para configuração, siga estas etapas:

  1. Inicie o cbrserver: emita cbrserver no prompt de comandos como usuário raiz ou administrador.
  2. Inicie a função do assistente do CBR:

    Ative o assistente a partir do prompt de comandos emitindo cbrwizard. Ou selecione o Assistente de Configuração do menu do componente CBR conforme apresentado na GUI.

  3. Inicie o Caching Proxy para fazer o balanceamento de carga do tráfego HTTP ou HTTPS (SSL).

    Para sistemas AIX, HP-UX, Linux ou Solaris: Para iniciar o Caching Proxy, insira ibmproxy

    Para sistemas Windows: Para iniciar o Proxy de Armazenamento, acesse o painel de Serviços: Iniciar > Painel de Controle > Ferramentas Administrativas > Serviços

O assistente CBR guia você passo a passo pelo processo de criação de uma configuração básica para o componente CBR. Ele faz perguntas sobre sua rede e serve como um guia para a configuração de um cluster que permite que o CBR faça o balanceamento de carga do tráfego entre um grupo de servidores.

Configurando a Máquina do CBR

Antes de configurar a máquina do CBR, você deve ser o usuário raiz (para sistemas AIX, HP-UX, Linux ou Solaris) ou Administrador (para sistemas Windows).

Você vai precisar de um endereço IP para cada cluster de servidores configurado. Um endereço de cluster é um endereço associado ao nome de um host (como www.company.com). Esse endereço IP é usado pelo cliente para se conectar aos servidores em um cluster. Especificamente, esse endereço está localizado na solicitação de URL do cliente. Todas as solicitações feitas para o mesmo endereço de cluster têm a carga balanceada pelo CBR.

Apenas para sistemas Solaris: Antes do uso do componente CBR, os padrões do sistema para IPCs (Inter-process Communication) devem ser modificados. O tamanho máximo de um segmento de memória compartilhada e o número de identificadores de semáforo precisam ser aumentados. Para ajustar seu sistema para suportar o CBR, edite o arquivo /etc/system em seu sistema para incluir as seguintes instruções e reinicializar:

set shmsys:shminfo_shmmax=0x02000000
set semsys:seminfo_semmap=750
set semsys:seminfo_semmni=30
set semsys:seminfo_semmns=750
set semsys:seminfo_semmnu=30
set semsys:seminfo_semume=30

Se você não aumentar o segmento de memória compartilhada para os valores mostrados acima, o comando cbrcontrol executor start falhará.

Etapa 1. Configurar o Caching Proxy para Usar o CBR

Para usar o CBR, o Caching Proxy deve estar instalado.

Nota:
Caching Proxy é um serviço que é iniciado automaticamente por padrão após a instalação. Você deve parar o Caching Proxy antes de iniciar a função de servidor do CBR e modificar o serviço Caching Proxy para ser iniciado manualmente em vez de automaticamente.

Você deve fazer as seguintes modificações no arquivo de configuração do Caching Proxy (ibmproxy.conf):

Verifique se a diretiva de URL recebida CacheByIncomingUrl está "desativada" (padrão).

Na seção de regras de mapeamento do arquivo de configuração, para cada cluster, inclua uma regra de mapeamento semelhante a:

Proxy    /*  http://cluster.domain.com/*    cluster.domain.com
Nota:
O CBR configura o protocolo, o servidor e a porta de destino posteriormente.

Há quatro entradas que devem ser editadas para o Plug-in CBR:

Cada entrada deve estar em uma única linha. Há várias instâncias de "ServerInit" no arquivo ibmproxy.conf, uma para cada plug-in. As entradas para o "Plug-in CBR" devem ser editadas e ter os comentários removidos.

As adições específicas no arquivo de configuração para cada um dos sistemas operacionais são as seguintes:

Tabela 5. Adições Necessárias no Arquivo de Configuração do CBR por Sistema Operacional
Sistema Operacional Adições no arquivo de configuração do CBR
Sistemas AIX, HP-UX, Linux e Solaris
ServerInit  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndServerInit

PostAuth  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndPostAuth

PostExit  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndPostExit

ServerTerm  /opt/ibm/edge/lb/servers/lib/liblbcbr.so:ndServerTerm
Sistemas Windows
ServerInit  <install_root>ibm\edge\lb\servers\lib\liblbcbr.dll:ndServerInit

PostAuth  <install_root>ibm\edge\lb\servers\lib\liblbcbr.dll:ndPostAuth

PostExit  <install_root>ibm\edge\lb\servers\lib\liblbcbr.dll:ndPostExit

ServerTerm  <install_root>ibm\edge\lb\servers\lib\liblbcbr.dll:ndServerTerm

Etapa 2. Iniciar a Função do Servidor

Para iniciar a função do servidor CBR, digite cbrserver em uma linha de comandos.

Um arquivo de configuração padrão (default.cfg) é carregado automaticamente durante o início do cbrserver. Se você decidir salvar a configuração do CBR no default.cfg, tudo que está salvo nesse arquivo será automaticamente carregado na próxima vez que o cbrserver for iniciado.

Etapa 3. Iniciar a Função do Executor

Para iniciar a função do executor, insira o comando cbrcontrol executor start. Você também poderá alterar várias configurações do executor neste momento. Consulte o executor dscontrol — controle do executor.

Etapa 4. Definir um Cluster e Configurar as Opções do Cluster

O CBR irá balancear as solicitações enviadas para o cluster para os servidores correspondentes configurados nas portas para esse cluster.

O cluster é o nome simbólico localizado na parte do host da URL e deve corresponder ao nome usado na instrução do Proxy do arquivo ibmproxy.conf.

Clusters definidos no CBR devem ser definidos para corresponderem à solicitação recebida. Um cluster deve ser definido usando o mesmo nome do host ou endereço IP que a solicitação recebida conterá. Por exemplo, se a solicitação entrar como endereço IP, o cluster deverá ser definido como endereço IP. Se houver mais de um nome de host resolvido para um único endereço IP (e se as solicitações puderem chegar com qualquer um desses nomes de host), todos os nomes de host deverão ser definidos como cluster.

Para definir um cluster, emita o seguinte comando:

cbrcontrol cluster add cluster

Para configurar opções de cluster, emita o seguinte comando:

cbrcontrol cluster set cluster option value

Para obter informações adicionais, consulte Referência de Comando para Dispatcher e CBR.

Etapa 5. Criar o Alias da Placa da Interface de Rede (Opcional)

Se estiver executando o Caching Proxy configurado como um proxy reverso, ao fazer o balanceamento de carga para diversos Web sites, você deverá incluir o endereço do cluster para cada Web site em pelo menos uma das placas da interface de rede da máquina do Balanceador de Carga. Caso contrário, essa etapa poderá ser omitida.

Para sistemas AIX, HP-UX, Linux ou Solaris: Para incluir o endereço do cluster na interface de rede, use o comando ifconfig. Use o comando para seu sistema operacional conforme mostrado em Tabela 6.

Tabela 6. Comando para Criar o Alias do NIC
AIX, ifconfig interface_name alias cluster_address netmask netmask
HP-UX ifconfig interface_name cluster_address netmask netmask up
Linux ifconfig interface_name cluster_address netmask netmask up
Solaris 9, e Solaris 10 ifconfig interface_name addif cluster_address netmask netmask up
Nota:
Para sistemas Linux e HP-UX, interface_name deve ter um número exclusivo para cada endereço de cluster incluído, por exemplo: eth0:1, eth0:2, e assim por diante.

Para Windows 2003: Para incluir o endereço do cluster na interface de rede, faça o seguinte:

  1. Clique em Iniciar > Painel de Controle > Conexões de Rede > Conexão de Área Local
  2. Clique em Propriedades.
  3. Selecione Protocolo da Internet (TCP/IP) e clique em Propriedades.
  4. Selecione Usar o seguinte endereço IP e clique em Avançado.
  5. Clique em Incluir e digite o endereço IP e a máscara de sub-rede para o cluster.

Etapa 6. Definir Portas e Configurar Opções de Porta

O número da porta é a porta na qual os aplicativo do servidor estão atendendo. Para CBR com Caching Proxy executando tráfego HTTP, normalmente essa é a porta 80.

Para definir uma porta para o cluster definido na etapa anterior, emita o seguinte comando:

cbrcontrol port add cluster:port 

Para configurar opções de porta, emita o seguinte comando:

cbrcontrol port set cluster:port option value

Para obter informações adicionais, consulte Referência de Comando para Dispatcher e CBR.

Etapa 7. Definir Máquinas do Servidor com Carga Balanceada

As máquinas do servidor são aquelas executando os aplicativos que você quer que tenham a carga balanceada. O servidor é o nome simbólico ou endereço decimal pontuado da máquina servidor. Para definir um servidor no cluster e porta, emita o seguinte comando:

cbrcontrol server add cluster:port:server

Você deve definir mais de um servidor por porta em um cluster para executar o balanceamento de carga.

Etapa 8. Incluir Regras em sua Configuração

Esta é a etapa principal da configuração do CBR com Caching Proxy. Uma regra define como uma solicitação de URL será distinguida e enviada para um dos conjuntos de servidores apropriados. O tipo de regra especial usado pelo CBR é chamado regra de conteúdo. Para definir uma regra de conteúdo, emita o seguinte comando:

cbrcontrol rule add cluster:port:rule type content pattern pattern

O valor padrão é a expressão regular que é comparada à URL em cada solicitação do cliente. Para obter mais informações sobre como configurar o padrão, consulte Apêndice B. Sintaxe de Regra de Conteúdo (Padrão).

Alguns outros tipos de regras definidos no Dispatcher também podem ser usados no CBR. Para obter informações adicionais, consulte Configurando Balanceamento de Carga Baseado em Regras.

Etapa 9. Incluir Servidores em suas Regras

Quando uma regra é correspondida por uma solicitação do cliente, o conjunto de servidores da regra é consultado para saber qual é o melhor servidor. O conjunto de servidores da regra é um subconjunto de servidores definido na porta. Para incluir servidores em um conjunto de servidores da regra, emita o seguinte comando:

cbrcontrol rule useserver cluster:port:rule server

Etapa 10. Iniciar a Função do Gerenciador (Opcional)

A função de gerenciador melhora o balanceamento de carga. Para iniciar o gerenciador, emita o seguinte comando:

cbrcontrol manager start

Etapa 11. Iniciar a Função do Orientador (Opcional)

Os orientadores dão ao gerenciador mais informações sobre a capacidade das máquinas servidores com carga balanceada de responder às solicitações. Um orientador é específico a um protocolo. Por exemplo, para iniciar o orientador HTTP, emita o seguinte comando:

cbrcontrol advisor start http port

Etapa 12. Configurar Proporções do Cluster Conforme Necessário

Se você iniciar os orientadores, poderá modificar a proporção da importância fornecida às informações do orientador que está sendo incluído nas decisões de balanceamento de carga. Para configurar as proporções do cluster, emita o comando cbrcontrol cluster set cluster proportions. Para obter informações adicionais, consulte o Proporção de Importância Fornecida às Informações de Status.

Etapa 13. Iniciar o Caching Proxy

No novo ambiente, inicie Caching Proxy:

Exemplo de Configuração do CBR

Para configurar o CBR, siga estas etapas:

  1. Inicie o CBR: emita o comando cbrserver.
  2. Inicialize a interface de linha de comandos: emita o comando cbrcontrol.
  3. O prompt cbrcontrol é exibido. Emita os seguintes comandos. (cluster(c),port(p),rule(r),server(s))
  4. Inicie o Caching Proxy: emita o comando ibmproxy. (Para plataforma Windows, inicie o Caching Proxy a partir do painel Serviços.
  5. Remova todas as configurações de proxy do navegador.
  6. Carregue http://c/ em seu navegador, em que "'c" é o cluster que você configurou anteriormente.