WebSphere MQ Publicação/Assinatura utiliza fluxos principalmente como um meio de particionar o espaço de nomes de tópico. Conjuntos de tópicos relacionados podem ser agrupados em fluxos separados. Diferentes controles de segurança podem ser aplicados a diferentes fluxos e a carga de trabalho de publicação do intermediário pode ser melhor equilibrada.
Embora WebSphere Event Broker forneça controles mais flexíveis para um aplicativo alcançar ambos os comportamentos, o conceito de fluxos é suportado para compatibilidade com aplicativos MQRFH.
Os controles de segurança do WebSphere Event Broker permitem que a autorização seja aplicada a um nível de tópico individual. Além disso, a carga de trabalho de publicação do intermediário pode ser controlada mais facilmente com a criação de instâncias adicionais de fluxos de mensagens de publicação que podem servir as mesmas filas de entrada ou filas de entrada diferentes.
WebSphere Event Broker permite que aplicativos cliente do MQRFH especifiquem um parâmetro de comando MQPSStreamName em suas assinaturas e publicações.No entanto, o nome do fluxo é utilizado apenas para modificar o tópico para preservar a característica de particionamento doWebSphere MQ Publicação/Assinatura.
Quando o nome do fluxo associado a uma mensagem for configurado para algo que não seja SYSTEM.BROKER.DEFAULT.STREAM, a mensagem será processada como se o tópico ou os tópicos mencionados na mensagem tivessem recebido o prefixo com a cadeia "$SYS/STREAM/<nome_do_fluxo>/". Ou seja, uma assinatura de Topic1 que especifica um nome de fluxo de StreamX é processada como se a assinatura fosse para o tópico "$SYS/STREAM/StreamX/Topic1".
Aplicativos de publicação e assinatura MQRFH2 também podem ter como destino tópicos relacionados a fluxo, embora eles próprios não possam especificar um nome de fluxo nas mensagens enviadas para o intermediário WebSphere Event Broker. Para fazer isto, eles devem colocar os prefixos apropriados nos tópicos.
Por exemplo, para assinar o tópico "IBM/Latest" publicado no fluxo STOCK.STREAM dentro da rede WebSphere MQ Publicação/Assinatura, um assinante de MQRFH2 deve especificar o tópico "$SYS/STREAM/STOCK.STREAM/IBM/Latest".
WebSphere MQ Publicação/Assinatura permite que uma publicação relacionada a fluxo seja enviada apenas para uma fila que possui o mesmo nome do fluxo. No entanto, WebSphere Event Broker permite que clientes de publicação enviem suas publicações para qualquer fila de entrada em um fluxo de mensagens. Aplicativos MQRFH que especificam um parâmetro de nome de fluxo explicitamente dentro de uma publicação podem enviá-la para qualquer publicação atendida pelo intermediário WebSphere Event Broker. O nome da fila não precisa ser igual ao nome do fluxo. Entretanto, esse comportamento pode afetar a ordem em que as publicações são recebidas. Veja se isso é importante para seus aplicativos.
Saiba que a ordem na qual as publicações são recebidas pode ser diferente da esperada.
Cada nó de publicação possui uma propriedade Implicit Stream Naming que utiliza true como padrão. Esta opção padrão resulta em um comportamento idêntico ao demonstrado peloWebSphere MQ Publicação/Assinatura quando uma publicação MQRFH não conter um nome de fluxo explícito. Se esta propriedade for false, e a publicação não conter nenhum nome de fluxo explícito, SYSTEM.BROKER.DEFAULT.STREAM será assumido.
publicador MQRFH | publicador MQRFH2 | |||
---|---|---|---|---|
Fluxo Padrão | FluxoX | Fluxo Padrão | FluxoX | |
Assinante do MQRFH | S1,P1 | S2,P2 | S1,P3 | S2,P4 |
Assinante do MQRFH2 | S3,P1 | S4,P2 | S3,P3 | S4,P4 |