Um fluxo é um método de particionamento de tópico utilizado por aplicativos do WebSphere MQ Publicação/Assinatura. Conjuntos de tópicos relacionados são agrupados em fluxos separados.
Através da utilização de fluxos, diferentes controles de segurança podem ser aplicados a diferentes grupos de tópicos, 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.
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.
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 |
Em uma rede do WebSphere MQ Publicação/Assinatura um intermediário não precisa suportar o mesmo conjunto de fluxos de seus vizinhos. Se um intermediário não suportar um fluxo que seja suportado por um dos intermediários vizinhos, as publicações associadas a esse fluxo não estarão disponíveis aos clientes nesse intermediário.
Quando um WebSphere Event Broker intermediário junta-se à rede, ele suporta todos os fluxos de seus intermediários WebSphere MQ Publicação/Assinatura próximos. Isto significa que clientes do intermediário WebSphere Event Broker podem atingir publicações para qualquer fluxo que seja suportado por seus vizinhos do WebSphere MQ Publicação/Assinatura.
No entanto, para tornar essas publicações disponíveis, você deve definir as filas de fluxo, e definir e implementar os fluxos de mensagens que as suportam, no intermediário WebSphere Event Broker.
Uma Rede Heterogênea
A fila de fluxo padrão SYSTEM.BROKER.DEFAULT.STREAM é sempre suportada por cada intermediário em uma WebSphere MQ Publicação/Assinatura rede e deve ser definida em cada WebSphere Event Broker intermediário em uma rede heterogênea. Em cada intermediário, é preciso definir e implementar um fluxo de mensagens para servir a essa fila.
Quando um intermediário WebSphere Event Broker é integrado a uma rede WebSphere MQ Publicação/Assinatura e faz link entre dois ou mais intermediários do WebSphere MQ Publicação/Assinatura que compartilham fluxos comuns, você deve definir as filas de fluxo comum e definir e implementar os fluxos de mensagens que as atendem, para o intermediário WebSphere Event Broker.
Por exemplo, o intermediário NEWBROKER do WebSphere Event Broker deve possuir uma fila de fluxo definida para BULLETIN.STREAM. Ele também deve ter um fluxo de mensagens definido e implementado para fornecer um serviço de publicação para essa fila.
Quando um WebSphere MQ Publicação/Assinatura intermediário é migrado para um WebSphere Event Broker intermediário (utilizando o comando migmqbrk), os fluxos suportados no momento da migração são replicados de maneira exata no WebSphere Event Broker intermediário.
Nenhuma alteração pode ser feita posteriormente; ou seja, nenhum fluxo pode ser adicionado a esse conjunto replicado ou removido dele.
A migração não está concluída até que você tenha criado e implementado os fluxos de mensagens que processam todos esses fluxos.