Niveles de fiabilidad de mensajes - modalidad de entrega JMS y calidad de servicio de integración de servicios
Los mensajes tienen un atributo de calidad de servicio que se puede utilizar para especificar la fiabilidad que tendrá la entrada del mensaje. Las aplicaciones JMS envían mensajes con una modalidad de entrega JMS (persistente o no persistente), a continuación, la integración de servicios utiliza los valores de la fábrica de conexiones JMS para correlacionar la modalidad de entrega JMS con un valor de fiabilidad de mensajes de integración de servicios. Los valores adicionales en los destinos de bus (incluidos los destinos foráneos y los destinos de alias) pueden alterar temporalmente esta fiabilidad de mensajes.
- Calidad de servicio (QoS) (mensajería de integración de servicios)
- Modalidad de entrega (JMS)
- Persistencia (IBM MQ)
- Mejor esfuerzo no persistente
- Los mensajes se descartan cuando se detiene o falla un motor de mensajería. Los mensajes también se pueden descartar, si una conexión utilizada para enviarlos deja de estar disponible o como resultado de los recursos del sistema limitados.
- Rápido no persistente
- Los mensajes se descartan cuando se detiene o falla un motor de mensajería. Los mensajes también pueden ser descartados si una conexión utilizada para enviarlos deja de estar disponible.
- Fiable no persistente
- Los mensajes se descartan cuando se detiene o falla un motor de mensajería.
- Fiable persistente
- Los mensajes pueden descargarse si un motor de mensajería da error.
- Garantizado persistente
- Los mensajes no se descartan.
Las aplicaciones JMS envían mensajes con una modalidad de entrega JMS (persistente o no persistente). Las aplicaciones especifican esta modalidad de entrega como un parámetro del método JMS send(), pero opcionalmente puede especificar una modalidad de entrega que altere temporalmente el método send() como un atributo del destino JMS.
La integración de servicios utiliza los valores de la fábrica de conexiones JMS para correlacionar las modalidades de entrega JMS (persistente y no persistente) con niveles de fiabilidad de mensajes de integración de servicios. Puede utilizar esta correlación para elegir entre alto rendimiento, alta fiabilidad, o un valor intermedio. Especifique la correlación que requiera en los valores de la fábrica de conexiones JMS. Por ejemplo, consulte Fábrica de conexiones unificada del proveedor de mensajería predeterminado [Valores].
Especifique los niveles predeterminado y máximo de fiabilidad de integración de servicios como atributos de los destinos de bus (incluidos los destinos foráneos y los destinos de alias). Especifique también si la fiablidad especificada por el generador altera temporalmente la fiabilidad predeterminada para el destino: si no es así, la integración de servicios restablece el nivel de fiabilidad de los mensajes a la fiabilidad predeterminada para el destino. Para los destinos de alias, puede especificar que el valor de fiabilidad se herede del destino.
Para la interoperatividad con IBM MQ, correlacione los valores de fiabilidad para los mensajes de integración de servicios en los valores de persistencia para los mensajes de IBM MQ. Para obtener más información, consulte el apartado Correlación de la opción de entrega JMS y de la fiabilidad de mensajes con y hacia el valor de persistencia de IBM MQ.
Mejor esfuerzo no persistente | Express no persistente | Fiable no persistente | Fiable persistente | Garantizado persistente | |
---|---|---|---|---|---|
Modalidad de entrega de JMS: | No persistente | No persistente | No persistente | Persistente | Persistente |
Atómica transaccionalmente: | No, se descartan los mensajes individuales | Sí: los mensajes no se descartan y no se retienen nunca más allá del reinicio del servidor | Sí: los mensajes no se descartan y no se retienen nunca más allá del reinicio del servidor | Sí | Sí |
Mensajes almacenados: | No | Probablemente, cuando los mensajes se acumulan en un destino | Probablemente, cuando los mensajes se acumulan en un destino | Sí, de forma asíncrona | Sí, de forma síncrona |
Los mensajes se descartan en la operación normal: | Sí | No | No | No | No |
Mensajes duplicados: | No | Posiblemente, los datos de estado se pueden perder tras una anomalía del servidor que da como resultado una duplicación | Posiblemente, los datos de estado se pueden perder tras una anomalía del servidor que da como resultado una duplicación | Probablemente, ya que la supresión de la base de datos es asíncrona en relación con las solicitudes de usuario | No |
Los mensajes se mantienen después de la conclusión planificada: | No | No | No | Sí, los mensajes en disco duro se recuperan, la conclusión planificada almacena los mensajes en la memoria caché | Sí |
Los mensajes se mantienen después de la anomalía de comunicaciones del cliente: | No | No | Sí | Sí | Sí |
Los mensajes se mantienen después de la anomalía de comunicaciones del motor: | No | Sí | Sí | Sí | Sí |
Los mensajes se mantienen después de que se cuelgue el motor: | No | No | No | Probablemente, los mensajes almacenados en disco duro se recuperan | Sí |
Los mensajes se mantienen después de la copia de seguridad y restauración: | No | No | No | Probablemente, se puede hacer una copia de seguridad de los mensajes almacenados en disco duro y se pueden recuperar | Sí |
- Modalidad de entrega de JMS
- Para objetos JMS como, por ejemplo, las fábricas y destinos de conexiones, la correlación entre la modalidad de entrega JMS y los valores de fiabilidad. La correlación predeterminada para la modalidad de entrega JMS no persistente es express no persistente. La correlación predeterminada para la modalidad de entrega JMS persistente es fiable persistente.
- Atómica transaccionalmente
- Si el mensaje es atómico respecto a otros mensajes producidos o consumidos en la misma transacción. Los mensajes de mejor esfuerzo no son atómicos transaccionalmente cuando se producen respecto a otros mensajes, por lo que, si se pierde uno de estos mensajes (vea la descripción de mejor esfuerzo no persistente para anteriormente en este tema para obtener detalles sobre cómo se pueden perder mensajes), es posible que otros mensajes que se procesen en la misma transacción se entreguen satisfactoriamente cuando se confirme la transacción (si la transacción se retrotrae, todas las operaciones realizadas en los mensajes, independientemente de su fiabilidad, se retrotraerán). En el caso de los mensajes de mayor fiabilidad, si se produce una anomalía que cause la pérdida de uno de los mensajes en la transacción, ésta y todo el trabajo que se haya efectuado bajo la misma se retrotraerán, lo que convertirá la operación en transaccionalmente atómica.
- Mensajes almacenados
- Si los mensajes se escriben en disco en el almacén de datos o en el almacén de archivos.
El rendimiento del sistema se ve afectado por la frecuencia con que se graban mensajes en disco y, en general, utilizando un almacén de archivos para el motor de mensajería se puede mejorar el rendimiento.
Los mensajes de fiabilidad mejor esfuerzo no persistente no se graban nunca en disco, los mensajes express no persistente y fiable no persistente se graban si los mensajes se acumulan en un destino, mientras que los mensajes fiable persistente y seguro persistente se graban siempre en disco.
Los mensajes de fiabilidad fiable persistente se graban en disco, pero esto se hace de forma asíncrona con respecto a la aplicación productora. Esto permite una mayor flexibilidad en la planificación y el proceso por lotes de las actualizaciones de base de datos que puede utilizarse para mejorar el rendimiento. Los mensajes no se perderán en condiciones de funcionamiento normal, pero es posible que se pierdan los mensajes si el motor de mensajería falla antes de que se complete la grabación asíncrona.
Los mensajes de fiabilidad seguro persistente se graban en disco de forma síncrona con respecto a la aplicación productora.
Si los mensajes pueden acumularse en un destino debido a que no se consumen tan rápidamente como se producen, un motor de mensajería puede decidir grabar los mensajes en disco para gestionar la utilización de la memoria.
Cuando algún mensaje cuyo atributo de calidad de servicio sea superior a mejor esfuerzo no persistente se graba en disco, es posible que también pueda almacenarse en la memoria caché de un almacenamiento intermedio de memoria.
- Los mensajes se descartan en la operación normal
- Si los mensajes se descartan durante el funcionamiento normal.
- Nota:Si tiene un bean controlado por mensaje no transaccional, el sistema suprime el mensaje cuando se inicia el bean, o cuando se completa el bean. Si el bean genera una excepción y, por lo tanto, no se completa, el sistema emprende una de las acciones siguientes:
- Si el sistema está configurado para suprimir el mensaje cuando el bean se completa, el mensaje se asigna a una nueva instancia del bean, de modo que tiene otra oportunidad para ser procesado.
- Si el sistema está configurado para suprimir el mensaje cuando se inicia el bean, el mensaje se pierde.
El mensaje se suprime cuando se inicia el bean, si la calidad del servicio se establece en Mejor esfuerzo no persistente. Para todas las demás calidades de servicio, el mensaje se suprime cuando se completa el bean.
- Mensajes duplicados
- Si los mensajes se duplican después de una anomalía del servidor.
- Los mensajes se mantienen después de una conclusión planificada
- Si los mensajes se mantienen después de una conclusión o inicio planificado.
- Los mensajes se mantienen después de una anomalía de comunicaciones del cliente
- Si los mensajes se mantienen después de la anomalía de comunicaciones del motor de mensajería de cliente.
- Los mensajes se mantienen después de una anomalía de comunicaciones del motor
- Si los mensajes se mantienen después de la anomalía de comunicaciones entre motores.
- Los mensajes se mantienen después del cuelgue del motor
- Si los mensajes se mantienen después de la anomalía de un motor de mensajería o un servidor.
- Los mensajes se mantienen después de la copia de seguridad y restauración
- Si los mensajes se mantienen después de un proceso de copia de seguridad y restauración en línea.