Cada fluxo de mensagens projetado deve fornecer um conjunto completo de processamento para mensagens recebidas de uma determinada origem. Este design pode resultar em fluxos de mensagens muito complexos, que incluem grandes números de nós que podem causar uma sobrecarga no desempenho e podem criar possíveis gargalos. É possível aumentar o número de fluxos de mensagens que processam suas mensagens para fornecer a opção de processamento paralelo e, portanto, rendimento de processamento aprimorado.
Leve em consideração também a maneira que as ações tomadas pelo fluxo de mensagens são consolidadas e a ordem em que as mensagens são processadas.
Considere as seguintes opções para otimizar o rendimento do processamento do fluxo de mensagens:
Você pode atualizar a propriedade Instâncias Adicionais do fluxo de mensagens implementado no arquivo BAR: o intermediário inicia cópias adicionais do fluxo de mensagens em encadeamentos separados, portanto, fornecendo processamento paralelo. Esta opção é a maneira mais eficiente de manipular esta situação, se você não estiver preocupado com a ordem na qual as mensagens serão processadas.
Se o fluxo de mensagens receber mensagens de uma fila do WebSphere MQ, você poderá interferir na ordem em que as mensagens serão processadas, configurando a propriedade Modo de Ordem do nó MQInput:
Para aplicativos de Publicação/Assinatura que se comunicam com o intermediário através de qualquer protocolo suportado, as mensagens para qualquer tópico especificado serão publicadas por intermediários na mesma ordem que foram recebidas de publicadores (sujeitas à reordenação com base na prioridade de mensagem, se aplicável). Portanto, cada assinante recebe mensagens de um intermediário específico, em um tópico específico, de um publicador específico, na ordem que foram publicadas por esse publicador.
No entanto, é possível que, ocasionalmente, as mensagens sejam entregues fora de ordem. Esta situação pode ocorrer, por exemplo, se um link na rede falhar e as mensagens subseqüentes forem roteadas por outro link.
Se você tiver que assegurar a ordem em que as mensagens são recebidas, você pode utilizar tanto o parâmetro SeqNum (número de seqüência) ou o PubTime (marca de hora de publicação) no comando Publish para cada mensagem publicada, para calcular a ordem de publicação.
Para obter informações adicionais sobre as técnicas recomendadas para todos os usuários MQI e AMI,
consulte as seções Referência de Programação de Aplicativo e Guia
de Programação do Aplicativo no WebSphere MQ Versão 6: centro de informações on-line ou
(para WebSphere MQ Versão 5.3) os manuais Guia
de Programação do Aplicativo e Referência de Programação de Aplicativo
do WebSphere MQ para
programas gravados no MQI e WebSphere MQ a Interface do Sistema de Mensagens do Aplicativo manual
para programas escritos no AMI.
O manual WebSphere MQ Interface de Mensagens do Aplicativo está disponível a partir do WebSphere MQ (listado como Versão 5.3), ou do SupportPac MA0F no WebSphere MQ SupportPacs.
Consulte também a seção Guia do Usuário de Publicação/Assinatura
no WebSphere MQ Versão 6: centro de informações on-line ou
(para WebSphere MQ Versão 5.3) o Guia do Usuário de Publicação/Assinatura do WebSphere MQ.
Os aplicativos do WebSphere MQ Everyplace e do SCADA utilizam um método diferente de ordenação de mensagens, conforme descrito no WebSphere MQ Mobile Transport e no WebSphere MQ Telemetry Transport. O intermediário não fornece ordenação para mensagens recebidas via WebSphere MQ Real-time Transport ou WebSphere MQ Multicast Transport.
Esta opção também remove a capacidade de determinar a ordem na qual as mensagens são processadas, porque, se houver mais de uma cópia do fluxo de mensagens ativa no intermediário, cada cópia poderá processar uma mensagem ao mesmo tempo, a partir da mesma fila. O tempo gasto para processar uma mensagem pode variar e, portanto, vários fluxos de mensagens que acessam a mesma fila podem ler mensagens da origem de entrada em uma ordem aleatória. A ordem das mensagens produzidas pelos fluxos de mensagens pode não corresponder à ordem das mensagens originais.
Verifique se os aplicativos que recebem mensagens desses fluxos de mensagens podem suportar mensagens fora de ordem.