Um orientador customizado é uma parte pequena do código Java, fornecido como um arquivo
de classe, que é chamado pelo código base do Load Balancer para determinar o carregamento em um
servidor. O código base fornece todos os serviços administrativos necessários,
incluindo iniciar e parar uma instância do orientador customizado, fornecer status e
relatórios, gravar informações de histórico em um arquivo de log e relatar resultados do
orientador para o componente do gerenciador.
Sobre Esta Tarefa
Os orientadores customizados são chamados depois que orientadores nativos ou padrão
forem procurados. Se o Load Balancer não localizar um orientador específico entre a lista de orientadores
padrão, ele consultará a lista de orientadores customizados. Quando o
código base do Load Balancer chamar um orientador customizado, as seguintes etapas deverão ser seguidas:
- O código base do Load Balancer abre uma conexão com a máquina servidor.
- Se o soquete for aberto, o código base chamará a função GetLoad
do orientador especificada.
- A função GetLoad do orientador executa as etapas que o usuário definiu para avaliar
o status do servidor, incluindo a espera de uma resposta a partir do
servidor. A função termina a execução quando a resposta for recebida.
- O código de base do Load Balancer fecha o soquete com o servidor e relata informações de
carregamento para o gerenciador. Dependendo se o orientador customizado operar no
modo normal ou no modo de substituição, o código base às vezes efetua cálculos adicionais
depois que a função GetLoad terminar.
Orientadores customizados podem ser designados para interagir com o Load Balancer no modo normal ou no modo de substituição. A opção do modo de operação é especificada no
arquivo do orientador customizado como um parâmetro no método do construtor. (Cada orientador opera em apenas um desses modos, com base no seu design.)
- Modo normal: o orientador customizado troca dados com o servidor e o
código do orientador base cronometra a troca e calcula o valor do carregamento.
O código base então relata esse valor de carregamento para o gerenciador. O orientador customizado
retorna o valor zero para indicar sucesso ou um valor negativo para indicar um
erro.
Para especificar o modo normal, configure o sinalizador de substituição no
construtor para false.
- Modo de substituição: o código base não executa nenhuma medida de cronometragem.
O código do orientador customizado executa quaisquer operações que forem especificadas com base nos
requisitos exclusivos e então retorna um número de carregamento real. O código base aceita o número de carregamento e o relata de maneira inalterada para o gerenciador. Para obter
melhores resultados, normalize os números de carregamento entre 10 e 1000, com 10 representando um servidor
rápido e 1000 representando um servidor lento.
Para especificar um modo de substituição, configure o
sinalizador de substituição no construtor para true.
Como todos os orientadores, um orientador customizado estende a funcionalidade da classe base
do orientador, que é chamada de ADV_Base. O orientador base executa a maioria
das funções do orientador, como relatar carregamentos de volta para o gerenciador
para uso no algoritmo de peso do gerenciador. O orientador base também executa operações de conexão e de
fechamento de soquete e fornece métodos de envio e de recebimento para uso
pelo orientador. O orientador é usado apenas para enviar e receber dados na
porta especificada para o servidor que está sendo investigado. Os métodos
TCP fornecidos no orientador base são cronometrados para calcular o carregamento.
Um sinalizador no construtor do orientador base sobrescreve o carregamento
existente com o novo carregamento retornado a partir do orientador, se desejado.
Nota: Com base em um
valor configurado no construtor, o orientador base fornece o carregamento para o
algoritmo de peso em intervalos especificados. Se o orientador não concluir o processamento
e não puder retornar um carregamento válido, o orientador base usará o carregamento relatado
anteriormente.