Gerenciador de Alta Disponibilidade
O produto inclui um componente de gerenciador de alta disponibilidade. Os serviços que o gerenciador de alta disponibilidade fornece são os únicos disponíveis aos componentes do produto.
- Uma estrutura que permite a serviços singleton tornarem a si mesmos altamente disponíveis. Exemplos de serviços singleton que utilizam essa estrutura incluem os gerenciadores de transações para membros do cluster e o provedor de sistemas de mensagens padrão, também conhecido como barramento de integração de serviços.
- Um mecanismo que permite aos servidores trocar dados de estado com facilidade. Esse mecanismo é referido comumente como quadro de avisos.
- Uma estrutura especializada para alta velocidade e sistema de mensagens confiável entre os processos. Essa estrutura é utilizada pelo serviço de replicação de dados quando o produto é configurado para replicação entre memórias.
Uma instância de gerenciador de alta disponibilidade é executada em todos os servidores de aplicativos, servidores proxy, agentes de nó e gerenciadores de implementação em uma célula. Uma célula pode ser dividida em vários domínios de alta disponibilidade conhecidos como grupos principais. Cada instância de gerenciador de alta disponibilidade estabelece conectividade de rede com todas as outras instâncias de gerenciador de alta disponibilidade no mesmo grupo principal, utilizando um canal de transporte especializado, dedicado e configurável. O canal de transporte fornece mecanismos que permitem à instância do gerenciador de alta disponibilidade detectar quando outros membros do grupo principal são iniciados, parados ou falham.
Em um grupo principal, as instâncias de gerenciador de alta disponibilidade são escolhidas para coordenar as atividades de alta disponibilidade. Uma instância escolhida é conhecida como um coordenador de grupo principal. O coordenador é altamente disponível, de tal forma que, se um processo que está servindo como coordenador parar ou falhar, outra instância será escolhida para assumir a função de coordenador, sem perda de continuidade.
Componentes Altamente Disponíveis
Um componente altamente disponível é aquele para o qual um grupo de alta disponibilidade é definido nos processes em que esse componente pode ser executado. O coordenador monitora a associação de grupos de alta disponibilidade e sabe em quais processos cada componente altamente disponível pode ser executado.
O coordenador também associa uma política de alta disponibilidade a cada grupo de alta disponibilidade. Uma política de alta disponibilidade é um conjunto de diretivas que ajudam o coordenador no gerenciamento de componentes altamente disponíveis. Por exemplo, uma diretiva poderá especificar se um componente é executado em um processo específico, se esse processo estiver disponível. As diretivas são configuráveis, o que torna possível adaptar políticas para sua instalação.
O coordenador é notificado quando os processos do grupo principal são iniciados, parados ou se falham e sabe quais processos estão disponíveis em um determinado momento. O coordenador utiliza essas informações em conjunto com o grupo de alta disponibilidade e as informações de política, para assegurar que o componente continue funcionando. O coordenador utiliza as diretivas de política para determinar em qual processo ele iniciará e executará cada componente. Se o processo escolhido falhar, o coordenador reiniciará o componente em outro processo elegível. Isso reduz o tempo de recuperação, automatiza o failover e elimina a necessidade de iniciar um processo de substituição.
Troca de Dados de Estado
O gerenciador de alta disponibilidade fornece um mecanismo do sistema de mensagens especializado que permite aos processos trocarem informações sobre seus estados atuais. Cada processo envia ou posta informações relacionadas a seu estado atual e pode registrar para ser notificado quando o estado dos outros processos for alterado. O componente de gerenciamento de carga de trabalho (WLM) utiliza esse mecanismo para criar e manter informações de tabela de roteamento. As tabelas de roteamento construídas e mantidas utilizando esse mecanismo são altamente disponíveis.
Replicação
O DRS (Data Replication Service) fornecido com o produto é utilizado para replicar dados de sessão HTTP, sessões EJB com preservação de estado e informações do cache dinâmico entre membros do cluster. Quando o DRS é configurado para replicação memória a memória, os canais de transporte definidos para os gerenciadores de alta disponibilidade são utilizados para transmitir esses dados entre os membros do cluster.