Navegação: Manual do Usuário > Configuração da Biblioteca > Usando variáveis de ambiente > Balanceamento de carga
Balanceamento de carga |
Top Previous Next |
Variável de ambiente a ser definida: DFENCE_LOAD_BALANCE_LIST Variável não definida significa operar sem balanceamento de carga. Contem o caminho e nome do arquivo com a lista de endereços IPs e portas dos HSMs. Em cada linha do arquivo deve ser indicado o endereço e a porta (usar 4433) de um HSM. Até dezesseis endereços podem ser informadas. O arquivo deverá ser em formato texto ASCII com o seguinte formato no conteúdo: <endereco_ip_1> <porta> <endereco_ip_2> <porta> ... <endereco_ip_16> <porta> Exemplo: 10.0.20.1 4433 10.0.20.2 4433
É possível ter um esquema de balanceamento do tipo ativo-passivo, onde várias listas (até 16) são definidas, e a biblioteca vai passar de uma lista para outra, em esquema circular tipo round robin. Quando nenhum dos HSMs da lista atual responder ao pedido de abertura de sessão, a próxima lista passa a ser utilizada, e permanece sendo utilizada até que novamente nenhum dos HSMs responda e então a próxima lista é carregada e assim por diante. Esta funcionalidade está disponível a partir da versão 1.3.0.14 da biblioteca. Para utilizar este esquema ativo-passivo crie cada lista de HSMs em um arquivo com o formato indicado acima, e no valor da variável de ambiente indique todos os arquivos, com o caminho completo, separando conforme o padrão do sistema operacional onde estiver executando a aplicação, ';' para Windows e ':' para Unix/Linux. O Pocket dispõe de um mecanismo de balanceamento de carga, permitindo maior disponibilidade do ambiente e desempenho para as aplicações. É possível ter até 16 (dezesseis) unidades do Pocket em sistema de balanceamento de carga, com a mesma quantidade de sessões em cada um dos equipamentos. O balanceamento de carga é transparente para a aplicação, ou seja, uma vez habilitado o balanceamento no ambiente, a aplicação se beneficia sem precisar de qualquer alteração. O balanceamento funciona num esquema tipo round-robin, distribuindo conexões circularmente entre os HSM configurados para balanceamento. A unidade de balanceamento é a sessão com o HSM, independente da carga ou das APIs utilizadas em cada sessão e também da taxa de utilização de recursos em cada HSM. O HSM que vai estabelecer a sessão com a aplicação é definido pela estrutura de balanceamento e não pela aplicação. O esquema do balanceamento funciona por processo, ou seja, dentro de cada processo são suas sessões que serão balanceadas; caso dois processos rodem ao mesmo tempo, cada um terá uma estrutura de balanceamento separada e independente. Caso a aplicação esteja utilizando objetos armazenados no HSM, é preciso que o objeto exista em todos os HSMs. O recomendado é que um HSM seja preparado inicialmente com todos os objetos usados pela aplicação e a partir dele seja gerado um backup, que será restaurado em todos os demais HSMs que fazem parte do conjunto de balanceamento. Importante: o balanceamento não pode ser usado por aplicações que criam objetos dentro da sessão, precisam persistir estes objetos entre sessões mas não utilizam o mecanismo de replicação do HSM, pois neste caso a criação do objeto não é replicada entre os HSMs e não há garantia que a próxima sessão será dirigida ao HSM onde o objeto foi criado. Para aplicações que criam objetos que devem persistir entre sessões, e o mecanismo de replicação do HSM não seja utilizado, é função da aplicação manter um mecanismo de sincronização entre as bases dos HSMs participantes do balanceamento. Tal mecanismo pode ser baseado por exemplo na exportação e importação de objetos. O balanceamento de carga e o cache de sessões são habilitados por intermédio de variáveis de ambiente. Se a definição das variável de ambiente tiver escopo de sistema (system wide), todas as aplicações são beneficiadas pela estrutura de balanceamento e/ou cache (pois os processos herdam as definições de variáveis de ambiente do sistema). Também é possível fazer uma configuração definindo a variável de ambiente apenas para o processo particular de uma aplicação. Consulte a documentação do sistema operacional para detalhes sobre criação e escopo de variáveis de ambiente. O balanceamento de carga m as seguintes características:
Um diagrama estrutural do mecanismos de balanceamento de carga é mostrado na figura abaixo: Fig. Diagrama esquemático de balanceamento de carga
|