Introdução: Clusters
Clusters são grupos de servidores que são gerenciados juntos e participam no gerenciamento da carga de trabalho. Um cluster pode conter nós ou servidores de aplicativos individuais. Um nó geralmente é um sistema de computador físico com um endereço IP de host distinto que está executando um ou mais servidores de aplicativos. Os clusters podem ser agrupados sob a configuração de uma célula, que associa de forma lógica muitos servidores e clusters com diferentes configurações e aplicativos uns com os outros, dependendo da decisão do administrador e do que faz sentido nos ambientes organizacionais.
Os clusters são responsáveis por balancear a carga de trabalho entre os servidores. O servidores que fazem parte de um cluster são chamados de membros do cluster. Ao instalar um aplicativo em um cluster, o aplicativo é instalado automaticamente em cada membro do cluster. É possível configurar um cluster para fornecer balanceamento de carga de trabalho com integração de serviço ou com beans acionados por mensagens no servidor de aplicativos.
Como cada membro de cluster contém os mesmos aplicativos,
você pode distribuir tarefas do cliente em plataformas distribuídas de acordo
com as capacidades das diferentes máquinas, designando pesos a cada servidor.
Nas plataformas distribuídas, designar pesos aos servidores
de um cluster melhora o desempenho e o failover. As tarefas são atribuídas aos servidores
que têm a capacidade de executar as operações de tarefas. Se um servidor não estiver disponível
para executar a tarefa, ela é designada para outro membro do cluster. Este recurso de nova designação possui vantagens óbvias sobre a execução
de um único servidor de aplicativos que pode se tornar sobrecarregado
se forem feitos muitos pedidos.
Opções de Processo de Inicialização do Cluster
O processamento de tempo de execução normal inicia automaticamente todos os componentes do servidor durante o processo de inicialização do servidor. Esse processamento se aplica a todos os servidores, incluindo aqueles que fazem parte de um cluster. Entretanto, você pode configurar servidores, incluindo aqueles que são membros do cluster, de modo que nem todos os componentes do servidor sejam iniciados durante o processo de inicialização. Esse recurso permite que o servidor consuma recursos conforme a necessidade, fornecendo assim uma área de cobertura menor e mais gerenciável, e normalmente resulta em uma melhora no desempenho.
Quando você configura membros do cluster para que nem todos os componentes membros sejam iniciados quando o cluster ou um membro específico for iniciado, os componentes são iniciados dinamicamente conforme necessários. Por exemplo, se iniciar um módulo aplicativo que exige um componente de servidor específico, esse componente será dinamicamente iniciado.
Clusters e Grupos de Nós
Qualquer aplicativo que você instalar em um cluster deve poder ser executado em qualquer servidor de aplicativos que seja membro desse cluster. Como um grupo de nós forma os limites para um cluster, todos os membros de um cluster devem ser membros do mesmo grupo de nós. Portanto, para que o aplicativo que você implementa seja executado com êxito, todos os membros de um cluster devem estar localizados em nós que atendam os requisitos desse aplicativo.
Em uma célula que possui muitas configurações de servidor diferentes, talvez seja difícil determinar quais nós possuem os recursos para hospedar o aplicativo. Um grupo de nós pode ser utilizado para definir grupos de nós que possuem o suficiente em comum para hospedar membros de um determinado cluster. Todos os membros de um cluster devem estar no mesmo grupo de nós.
Todos os nós são membros de pelo menos um grupo de nós. Quando você cria um cluster, o primeiro servidor de aplicativos que inclui no cluster define o grupo de nós dentro do qual todos os outros membros de cluster devem residir. Todos os outros membros do cluster que são incluídos nele podem estar apenas em nós que são membros desse mesmo grupo de nós. Ao criar um novo membro de cluster no console administrativo, você tem permissão para criar o servidor de aplicativos em um nó que seja membro do grupo de nós desse cluster apenas.
Os nós podem ser membros de vários grupos de nós. Se o primeiro membro do cluster que você inclui em um cluster possuir vários grupos de nós definidos, o sistema escolherá automaticamente o grupo de nós que liga o cluster. É possível alterar o grupo de nós, modificando as configurações do cluster. Utilize a página Configurações do Cluster de Servidores para alterar o grupo de nós.
Clusters e Grupos Principais
Em um ambiente de alta disponibilidade, um grupo de clusters pode ser definido como um grupo principal. Todos os servidores de aplicativos definidos como um membro de um dos clusters incluídos em um grupo principal são automaticamente membros daquele grupo principal. Os servidores de aplicativos individuais que não são membros de um cluster também podem ser definidos como um membro de um grupo principal. O uso de grupos principais permite que o WebSphere Application Server proporcione alta disponibilidade para aplicativos que devem sempre estar disponíveis para usuários finais. Você também pode configurar grupos principais para se comunicarem utilizando a ponte do grupo principal. Os grupos principais podem se comunicar na mesma célula ou entre células.
Membros de Cluster
Você poderá melhorar o desempenho do sistema, se configurar cada membro de cluster, de forma que cada um de seus componentes seja iniciado dinamicamente conforme necessário, em vez de permitir que todos esses componentes sejam iniciados automaticamente quando o membro de cluster é iniciado. A seleção dessa opção pode melhorar o tempo de inicialização do cluster e reduzir a área de cobertura de memória dos membros de cluster. Iniciar os componentes conforme eles forem necessários será mais eficaz se todos os aplicativos implementados no cluster forem do mesmo tipo. Por exemplo, o uso dessa opção funcionará melhor se todos os aplicativos forem aplicativos da Web que usem servlets e JavaServer Pages (JSP). Essa opção funcionará com menos eficiência se seus aplicativos utilizarem servlets, JSPs e EJBs (Enterprise JavaBeans).

- Isso inclui Java™ thin clients,
- Onde a solicitações estão sendo roteadas entre diversas células, ou
- Onde solicitações estão sendo roteadas dentro de uma única célula que inclui nós de versões anteriores do produto,
Essa situação ocorre com mais frequência quando todos os membros do cluster possuem portas dinâmicas e são reiniciados durante um período de tempo em que nenhuma solicitação é enviada. O processo do cliente nesse estado tentará, eventualmente, rotear para o agente de nó para receber os novos dados de porta dos membros do cluster e, em seguida, usar esses novos dados de porta para rotear de volta para os membros do cluster.
Se ocorrer qualquer problema que impeça o cliente de se comunicar com o agente do nó, ou que impeça que os dados da nova porta sejam propagados entre os membros de cluster e o agente do nó, poderão ocorrer falhas de solicitação no cliente. Em alguns casos, estas falhas são temporárias. Em outros casos, é necessário reiniciar um ou mais processos para resolver a falha.
Para contornar os problemas de roteamento do cliente que possam suscitar nestes casos, é possível configurar portas estáticas nos membros de cluster. Com portas estáticas, os dados da porta não são alterados conforme um processo do cliente obtém informações sobre os membros de cluster. Mesmo se os membros de cluster são reiniciados, ou há problemas de comunicação ou de propagação de dados entre os processos, os dados da porta que o cliente retém ainda são válidos. Esta alternativa não resolve necessariamente os problemas subjacentes de comunicação ou propagação de dados, mas remove os sintomas de decisões de roteamento do cliente inesperadas ou irregulares.
gotcha