Ao projetar a rede do
WebSphere MQ que suporta o domínio do
intermediário do
WebSphere Message Broker, você
deve considerar a utilização de clusters.
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 clusters forem utilizados com o
WebSphere Message Broker, considere o seguinte:
- 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 conectividade do intermediário,
Configuration Manager e do
Servidor de Nome de Usuário:
- Se definir os gerenciadores de filas que suportam seus
intermediários, o Configuration Manager e o
Servidor de Nome de Usuário para um cluster, você pode
se beneficiar da administração simplificada fornecida pelos clusters
WebSphere MQ.
Você pode achar isso relevante, principalmente
para os intermediários em uma coletividade, que devem ter todas as interconexões do WebSphere MQ.
- 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 intermediário.
- 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. Isto assegura que todos os segmentos de uma única mensagem, ou de todas as mensagens dentro de uma seqüência, sejam colocadas na mesma fila de destino e que sejam processadas pela mesma ocorrê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 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
intermediários em gerenciadores de filas do cluster.Entretanto, o cluster não fornece nenhuma das funções de failover para a topologia e função de domínio de intermediário.
Se um intermediário 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 intermediário.
- Quando um cliente registra uma assinatura com um intermediário em execução em um gerenciador de filas que é membro de um cluster, o intermediário encaminha um registro de proxy a seus vizinhos dentro do domínio do intermediário; os detalhes do registro não são anunciados a outros membros do cluster.
- Um cliente pode optar por tornar-se um assinante em cluster de forma que sua fila de assinante seja uma de um conjunto de filas em cluster que recebem qualquer publicação fornecida.
Nesse caso, ao registrar uma assinatura, utilize o nome de um gerenciador de filas "imaginário" associado ao cluster; esse não é o gerenciador de filas ao qual a publicação será enviada, mas um alias que será utilizado pelo intermediário.
Como uma atividade administrativa, uma definição de alias do gerenciador de filas em branco é feita para esse gerenciador de filas no intermediário que atende essa assinatura para todos os assinantes em cluster.
Quando o intermediário 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 assinante em cluster for
SUBS_QUEUE e o gerenciador de filas de assinante "imaginário" for CLUSTER_QM, a definição do intermediário será:
DEFINE QREMOTE(CLUSTER_QM)
RQMNAME(' ') RNAME(' ')
Isso envia publicações do intermediário para SUBS_QUEUE no CLUSTER_QM para uma instância da fila de clusters denominada SUBS_QUEUE em qualquer parte do cluster.
Para entender mais sobre clusters e as implicações da utilização de filas de clusters, consulte o manual
WebSphere MQ Queue Manager Clusters.