A utilização de clusters do gerenciador de filas
fornece os seguintes benefícios significativos:
- Redução na administração do sistema
Os clusters precisam de
menos definições para estabelecer uma rede; portanto você pode
configurar e alterar sua rede de forma mais rápida e fácil.
- Aumento na disponibilidade e equilíbrio de carga de trabalho
Você pode se beneficiar definindo
instâncias da mesma fila para mais de um gerenciador de filas,
distribuindo, assim, a carga de trabalho pelo cluster.
Se você utilizar clusters com o WebSphere Message Broker,
considere as seguintes filas:
- Para as filas do SYSTEM.BROKER:
- As filas SYSTEM.BROKER são definidas para você
quando você cria os componentes do WebSphere Message Broker e não são definidas como filas de cluster. Não altere esse atributo.
- Para as filas de entrada do fluxo de mensagens:
- Se você definir uma fila de entrada como uma fila de cluster,
será necessário considerar as implicações para a ordem de mensagens
ou dos segmentos de uma mensagem segmentada. As implicações são as mesmas de qualquer fila de clusters do WebSphere MQ. Em particular, o aplicativo deve assegurar que, se ele estiver
enviando mensagens segmentadas, todos os segmentos serão processados
pela mesma fila de destino e, portanto, pela mesma instância do fluxo
de mensagens no mesmo broker.
- Para as filas de saída do fluxo de mensagens:
-
- O WebSphere Message Broker sempre especifica MQOO_BIND_AS_Q_DEF quando abre uma fila para saída. Se você quiser que mensagens segmentadas sejam colocadas em uma fila de saída, ou quiser que uma série de mensagens sejam identificadas pelo mesmo processo, é necessário especificar DEFBIND(OPEN) quando definir esta fila. Esta opção garante que todos os segmentos de uma única mensagem ou todas as mensagens de uma sequência sejam colocadas na mesma fila de destino e e sejam processadas pela mesma instância do aplicativo de recebimento.
- Se você criar seus próprios nós de saída, especifique MQOO_BIND_AS_Q_DEF
quando abrir a fila de saída, e DEFBIND(OPEN) quando definir a fila,
se precisar garantir a ordem de mensagens ou assegurar um único
destino para mensagens segmentadas.
- Para aplicativos do Publicação/Assinatura:
-
- Se a fila de destino para uma publicação for uma fila de cluster,
será necessário implementar o fluxo de mensagens de Publicação/Assinatura para todos os
brokers em gerenciadores de filas do cluster. No entanto,
o cluster não fornece nenhuma das funções de failover para a rede e função do broker. Se um broker no qual uma mensagem é publicada,
ou um assinante é registrado, não estiver disponível, a distribuição da publicação
ou do registro não será assumida por outro broker.
- Quando um cliente registra uma assinatura com um broker que esteja em execução em um gerenciador
de filas que seja membro de um cluster, o broker encaminha um registro de proxy para seus vizinhos no
domínio do broker; os detalhes de registro não são anunciados para outros membros do cluster.
- Um cliente pode escolher se tornar um assinante em cluster, de forma que sua fila de
assinante seja uma de um conjunto de filas em cluster que recebem uma publicação particular. Neste caso, ao registrar uma assinatura, use o nome de um gerenciador de filas "imaginário" que esteja associado com o cluster; este gerenciador de filas não é aquele para o qual a publicação é enviada, mas um alias para o broker a utilizar. Como uma atividade administrativa, uma definição de alias do gerenciador de filas em branco é feita para esse gerenciador de filas no broker que atende essa assinatura para todos os assinantes em cluster. Quando o broker publica em uma fila de assinante que denomina esse gerenciador de filas, a resolução do nome do gerenciador de filas resulta no envio da publicação a qualquer gerenciador de filas que hospede a fila de clusters de assinante, e somente um assinante em cluster recebe a publicação.
Por exemplo, se a fila de assinantes em cluster era SUBS_QUEUE e o gerenciador de filas do assinante "imaginário" era CLUSTER_QM, a definição do broker será:
DEFINE QREMOTE(CLUSTER_QM)
RQMNAME(' ') RNAME(' ')
Esta configuração envia publicações do broker
para o SUBS_QUEUE no CLUSTER_QM para uma instância da fila do cluster denominada SUBS_QUEUE em qualquer parte do cluster.
Para entender mais sobre clusters e as implicações
de usar filas de clusters, consulte a seção Clusters do Gerenciador de Filas
do Centro de Informações Online do WebSphere MQ Versão 7.