Corrientes de datos

Una corriente de datos es un método para particionar datos utilizado por aplicaciones de MQSeries Publicación/suscripción. Los conjuntos de temas relacionados se agrupan en corrientes de datos separadas.

Utilizando corrientes de datos, pueden aplicarse distintos controles de seguridad a distintos grupos de temas y carga de trabajo de publicación del intermediario puede equilibrarse mejor.

Aunque WebSphere Business Integration Message Broker proporciona otros medios para que una aplicación ejecute estos dos comportamientos, el concepto de corriente de datos tiene soporte por motivos de compatibilidad con aplicaciones MQRFH.

WebSphere Business Integration Message Broker permite que las aplicaciones cliente de MQRFH especifiquen un parámetro MQPSStreamName de mandato en sus suscripciones y publicaciones. No obstante, el nombre de la corriente de datos se utiliza únicamente para modificar el tema a fin de conservar la característica de particionamiento de MQSeries Publicación/suscripción.

Si el nombre de una corriente de datos asociada a un mensaje no es SYSTEM.BROKER.DEFAULT.STREAM, el mensaje se procesa como si el o los temas mencionados dentro del mensaje se hubiesen prefijado con la serie de caracteres "$SYS/STREAM/<streamname>/". Por ejemplo, una suscripción a Topic1 que especifica un nombre de corriente de datos StreamX se procesa como si la suscripción se hubiese hecho para el tema "$SYS/STREAM/StreamX/Topic1".

Las aplicaciones de publicación y suscripción de MQRFH2 también pueden destinarse a temas relacionados con las corrientes de datos, aunque ellas propiamente dichas no pueden especificar un nombre de corriente de datos en los mensajes que envían al intermediario WebSphere Business Integration Message Broker. Para ello, han de prefijar los temas con el prefijo de corriente de datos apropiado.

Por ejemplo, un suscriptor MQRFH2 ha de especificar el tema "$SYS/STREAM/STOCK.STREAM/IBM/Latest" para suscribirse al tema "IBM/Latest" que se ha publicado en la corriente STOCK.STREAM dentro de la red de MQSeries Publicación/suscripción.

MQSeries Publicación/suscripción permite enviar una publicación relacionada con una corriente de datos únicamente a una cola que tenga el mismo nombre que la corriente de datos. Sin embargo, WebSphere Business Integration Message Broker permite a los clientes de publicación enviar sus publicaciones a cualquier cola de entrada de un flujo de mensajes. Las aplicaciones MQRFH que decidan explícitamente especificar un parámetro de nombre de corrientes de datos dentro de una publicación, pueden enviarla a cualquier cola de publicación a la que preste sus servicios el intermediario de WebSphere Business Integration Message Broker. El nombre de la cola no ha de ser igual que el nombre de la corriente de datos. No obstante, este comportamiento podría afectar el orden en que se reciben las publicaciones. Vea si esto es importante para sus aplicaciones.

Cada nodo Publication tiene una propiedad Denominación de corriente de datos implícita que tiene como valor por omisión true (verdadero). Esta opción por omisión produce un funcionamiento idéntico al de MQSeries Publicación/suscripción cuando una publicación MQRFH no contiene un nombre de corriente de datos explícito. Si el valor de esta propiedad es false (falso) y la publicación no contiene ningún nombre de corriente explícito, se presupondrá SYSTEM.BROKER.DEFAULT.STREAM.

En la siguiente tabla se indican las opciones que están disponibles para las aplicaciones clientes MQRFH y MQRFH2 que publican mensajes; la tabla muestra las opciones para la corriente de datos por omisión y un nombre de corrientes de datos de ejemplo, StreamX.

  Publicador MQRFH   Publicador MQRFH2  
  corriente de datos por omisión StreamX corriente de datos por omisión StreamX
Suscriptor MQRFH S1,P1 S2,P2 S1,P3 S2,P4
Suscriptor MQRFH2 S3,P1 S4,P2 S3,P3 S4,P4

Notas sobre el suscriptor

S1
El suscriptor suscribe con o sin el nombre de corriente de datos "SYSTEM.BROKER.DEFAULT.STREAM".
S2
El suscriptor suscribe con el nombre de corriente de datos "StreamX".
S3
El suscriptor suscribe sobre un tema sin añadir "$SYS/STREAM/<streamname>/".
S4
El suscriptor suscribe el tema prefijándolo con "$SYS/STREAM/StreamX/".

Notas sobre el publicador

P1
El publicador publica en cualquier cola especificando el nombre de corriente de datos "SYSTEM.BROKER.DEFAULT.STREAM", o publica sin especificar ningún nombre de corriente de datos en ninguna cola que tenga la propiedad Denominación de corriente de datos implícita establecida en false (falso).
P2
El publicador publica en cualquier cola especificando el nombre de corriente de datos "StreamX", o publica sin especificar un nombre de corriente de datos en la cola "StreamX" que tenga la propiedad Denominación de corriente de datos implícita establecida en true (verdadero).
P3
El publicador publica en cualquier cola sin añadir el prefijo "$SYS/STREAM/<Stream>/" al tema.
P4
El publicador publica en cualquier cola y añade el prefijo "$SYS/STREAM/StreamX/" al tema.
Nota: El prefijo "$SYS/STREAM/<streamname>/" se elimina de todos los temas en una publicación MQRFH2 cuando se entrega a un suscriptor MQRFH.

Corrientes de datos e intermediarios contiguos

En una red de MQSeries Publicación/suscripción, un intermediario no tiene que soportar el mismo conjunto de corrientes de datos que sus intermediarios contiguos. Si un intermediario no tiene soporte para una corriente de datos que está soportada por uno de sus intermediarios contiguos, las publicaciones asociadas con dicha corriente de datos no estarán disponibles para los clientes de este intermediario.

Cuando un intermediario WebSphere Business Integration Message Broker se une a la red, soporta todas las corrientes de datos de sus intermediarios contiguos de MQSeries Publicación/suscripción. Esto significa que los clientes del intermediario WebSphere Business Integration Message Broker pueden destinar publicaciones a cualquier corriente de datos soportada por alguno de sus intermediarios contiguos de MQSeries Publicación/suscripción.

Sin embargo, para que las publicaciones estén disponibles, habrá de definir las colas de corrientes de datos, y definir y difundir para el intermediario WebSphere Business Integration Message Broker los flujos de mensajes que las soportan.

Los efectos de añadir un intermediario WebSphere Business Integration Message Broker a un entorno de múltiples corrientes de datos de MQSeries Publicación/suscripción, pueden verse en la siguiente figura. El intermediario de WebSphere Business Integration Message Broker, NEWBROKER, se ha utilizado para unir los intermediarios de MQSeries Publicación/suscripción BROKERA y BROKERB.

Una red heterogénea


Una red heterogénea. Esta figura muestra un intermediario <ph conref='edvent.dita#edvent/mqsi'></ph>, NEWBROKER, colocado entre dos intermediarios <ph conref='edvent.dita#edvent/sdk'></ph>, BROKERA y BROKERB. También lista las corrientes de datos asociadas a cada uno de los intermediarios <ph conref='edvent.dita#edvent/sdk'></ph>.

La cola de corriente de datos por omisión, SYSTEM.BROKER.DEFAULT.STREAM, siempre está soportada por todos los intermediarios de una red de MQSeries Publicación/suscripción y ha de estar definida en todos los intermediarios WebSphere Business Integration Message Broker en una red heterogénea. En cada red, ha de definir y difundir un flujo de mensajes para que preste servicio a dicha cola.

Cuando se integra un intermediario WebSphere Business Integration Message Broker en una red de MQSeries Publicación/suscripción, y se enlazan dos o más intermediarios de MQSeries Publicación/suscripción que comparten corrientes de datos comunes, se han de definir las colas de corriente de datos comunes y definir y difundir las corrientes de datos comunes que les prestan servicio, para el intermediario WebSphere Business Integration Message Broker.

Por ejemplo, el intermediario NEWBROKER de WebSphere Business Integration Message Broker ha de tener definida una cola de corriente de datos para BULLETIN.STREAM. También ha de tener definido y difundido un flujo de mensajes para proporcionar un servicio de publicación para dicha cola.

Únicamente es necesario definir colas de corriente de datos y flujos de mensajes relacionados para el intermediario de WebSphere Business Integration Message Broker para otras corrientes de datos que se muestran en la figura, si uno de sus intermediarios contiguos de MQSeries Publicación/suscripción puede enviar un mensaje a alguna de esas colas. Se envía un mensaje si se produce uno de estos sucesos:
  1. Una suscripción a una publicación de una de las corrientes de datos es registrada por un cliente del intermediario WebSphere Business Integration Message Broker.
  2. Un cliente emite un mandato DeletePublication para la corriente de datos en cualquier lugar de la red del intermediario.
Si no está seguro de si los casos anteriores pueden producirse, cree colas de corrientes de datos y flujos de mensajes en el intermediario WebSphere Business Integration Message Broker para cada corriente soportada por un intermediario contiguo de MQSeries Publicación/suscripción. Si no lo ha hace, puede producirse lo siguiente:
  • Los mensajes enviados desde intermediarios de MQSeries Publicación/suscripción se colocarán en una cola de mensajes no entregados (DLQ) del intermediario WebSphere Business Integration Message Broker si la cola de corriente de datos no existe en dicho intermediario.
  • Los mensajes se crearán en colas de corriente de datos del intermediario WebSphere Business Integration Message Broker si la cola de corriente de datos existe, pero no se difundirá ningún flujo de mensajes para prestarle servicio.

Corrientes de datos y migración

Cuando un intermediario de MQSeries Publicación/suscripción se migra a un intermediario WebSphere Business Integration Message Broker (utilizando el mandato migmqbrk), las corrientes de datos soportadas en el momento de la migración se reproducen exactamente en el intermediario WebSphere Business Integration Message Broker. No se podrá efectuar ningún cambio posteriormente; es decir, que no se podrán añadir ni suprimir corrientes de datos de ese conjunto reproducido. La migración no estará completa hasta que haya creado y difundido flujos de mensajes que procesen todas esas corrientes de datos.

Conceptos relacionados
Seguridad para recursos de ejecución

Tareas relacionadas
Suscripciones

Referencia relacionada
Cabecera MQRFH2