En función del diseño del subflujo, es decir, del número de nodos de entrada que haya modelado y de cómo configure las propiedades globales de despliegue del archivo BAR del flujo de mensajes y las propiedades de despliegue del nodo de entrada, WebSphere Message Broker manejará las hebras en tiempo de ejecución de una forma u otra. Esto puede afectar al rendimiento de la solución y al comportamiento de proceso paralelo de mensajes en tiempo de ejecución.
Acerca de esta tarea
Al diseñar un flujo de mensajes o un subflujo, conecta los nodos del flujo de mensajes y los subflujos para definir la lógica de la solución de integración. En un flujo de mensajes se utilizan uno o más nodos de entrada, como por ejemplo el nodo MQinput, para modelar cómo el flujo de mensajes recibe un mensaje. Si el primer nodo de un flujo de mensajes es un subflujo, el subflujo debe contener uno o más nodos de entrada. También puede tener subflujos en medio de un flujo de mensajes que incluyan nodos de entrada.
Cuando diseñe un subflujo que esté incluido en un flujo de mensajes y configure el archivo BAR que contiene la solución de integración, tenga en cuenta las cuestiones siguientes:
- ¿Cuántos nodos de entrada como, por ejemplo, el nodo MQInput, tiene el flujo de mensajes? ¿Cuántos nodos de entrada tienen los subflujos?
Nota: El número de nodos de entrada determina el número predeterminado de hebras que asigna WebSphere Message Broker para procesar los mensajes.
- ¿Ha calculado cuántas hebras requiere WebSphere Message Broker para ejecutar el flujo de mensajes?
- ¿Tiene previsto iniciar todas las instancias cuando se inicie el flujo de mensajes? Si es así, tenga en cuenta el número de hebras asignadas en el arranque y las otras soluciones que compiten por recursos del sistema.
- ¿Existen requisitos de orden para el proceso de los mensajes? Si es así, tenga en cuenta que un nodo de entrada puede recibir mensajes desordenados y esperar a que llegue el mensaje correcto antes de continuar procesando los mensajes. La adición de instancias adicionales puede causar cuellos de botella de recursos y no mejorar el rendimiento de la solución.
- ¿El diseño del flujo de mensajes y los subflujos tienen varios nodos de entrada? ¿Debe recibir mensajes a través de estos nodos de entrada en paralelo antes de continuar la lógica de flujo de mensajes? ¿Uno de ellos requiere más tiempo para recibir un mensaje?
Las respuestas a estas preguntas le ayudarán a decidir cómo configurar los recursos.
Para decidir qué opción elegir para crear instancias adicionales, tenga en cuenta las reglas siguientes:
- Para crear instancias compartidas entre varios nodos de entrada, debe establecer la propiedad Instancias adicionales en el nivel de flujo de mensajes.
- Para crear instancias asignadas a un nodo de entrada específico, debe establecer la propiedad Instancias adicionales en el nivel de nodo de entrada.
Además, en función de cómo configure las instancias adicionales, debe tener en cuenta el comportamiento siguiente:
- Cuando establece instancias adicionales en un nodo de entrada, las hebras o instancias adicionales se ejecutan solo en dicho nodo de entrada específico. Por ejemplo, si tiene el Nodo de entrada A con 15 instancias adicionales y el Nodo de entrada B con 0 instancias adicionales, si hay trabajo pendiente en la Cola B se procesará solo un mensaje cada vez. Las instancias adicionales pertenecientes al Nodo de entrada A no se pueden utilizar para procesar mensajes recibidos del Nodo de entrada B.
- La desventaja de establecer agrupaciones de hebras en el nivel de flujo de mensajes es que un nodo de entrada ocupado podría hacer que otros nodos de entrada no recibieran nada.
Debe decidir cómo desea establecer las instancias adicionales en función de la prioridad del trabajo en distintos nodos de entrada y el diseño de los subflujos y flujos de mensajes.
Cuando diseñe un flujo de mensajes o un subflujo que incluya uno o más nodos de entrada, debe tener en cuenta el impacto sobre la asignación de recursos y el rendimiento:
Qué hacer a continuación
Asigne instancias adicionales en el nivel de flujo de mensajes o en el nivel de nodo de entrada. Para obtener más información, consulte Adición de instancias adicionales en el nivel de flujo de mensajes y Adición de instancias adicionales en el nivel de nodo de flujo de mensajes.