Varias definiciones de temas de clúster con el mismo nombre
Puede definir el mismo objeto de tema del clúster con nombre en el clúster y, en determinadas situaciones, esto habilita un comportamiento específico. Cuando existe varias definiciones de temas de clúster con el mismo nombre, la mayor parte de las propiedades deben coincidir. Si no es así, se emiten errores o avisos en función de la importancia de la falta de coincidencia.
En general, si existe una discrepancia en las propiedades de varias definiciones de temas del clúster, se emiten avisos, y cada gestor de colas del clúster utiliza una de las definiciones de objetos de temas. La definición que utiliza cada gestor de colas no es determinante ni coherente entre los gestores de colas del clúster. Dichas discrepancias se deben resolver a la mayor brevedad posible.
Durante la configuración o mantenimiento del clúster, algunas veces es necesario crear varias definiciones de temas del clúster que no sean idénticas. Sin embargo, esto solo resulta útil como medida temporal y, por lo tanto, se trata como una condición de error potencial.
On Multiplataformas, AMQ9465 and AMQ9466.
En z/OS®, CSQX465I y CSQX466I.
Las propiedades elegidas para cualquier serie de tema en cada gestor de colas se pueden determinar visualizando el estado del tema en lugar de las definiciones de objeto de tema, por ejemplo, utilizando DISPLAY TPSTATUS.
En algunas situaciones, un conflicto en las propiedades de configuración es lo suficientemente grave como para detener el objeto de tema que se está creando o para hacer que los objetos no coincidentes se marquen como no válidos y no se propaguen por el clúster (consulte CLSTATE en DISPLAY TOPIC ). Estas situaciones se producen si existe un conflicto en la propiedad de direccionamiento del clúster (CLROUTE) de las definiciones de temas. Adicionalmente, debido a la importancia de la coherencia entre las definiciones direccionadas a hosts de temas, las discrepancias adicionales se rechazan tal como se describe detalladamente en las secciones siguientes de este artículo.
Si se detecta el conflicto en el momento en que se define el objeto, el cambio de configuración se rechaza. Si posteriormente los gestores de colas de repositorio completo lo detectan, se graban los siguientes mensajes en los registros de errores de los gestores de colas:
On Multiplataformas: AMQ9879
En z/OS: CSQX879E.
Cuando se definen varias definiciones del mismo objeto de tema en el clúster, una definición definida localmente tiene prioridad sobre una definición realizada de forma remota. Por lo tanto, si existe alguna diferencia en las definiciones, los gestores de colas que alojan las diferentes definiciones se comportarán de manera diferente unos de otros.
El efecto de definir un tema no de clúster con el mismo nombre que un tema de clúster desde otro gestor de colas
Se puede definir un objeto de tema administrado que no está agrupado en clúster en un gestor de colas que está en un clúster y, al mismo tiempo, definir el mismo objeto de tema nombrado como una definición de tema de clúster en un gestor de colas diferente. En este caso, el objeto de tema definido localmente tiene prioridad sobre todas las definiciones remotas del mismo nombre.
Esto tiene el efecto de impedir el comportamiento de agrupación en clúster del tema cuando se utiliza de este gestor de colas. Es decir, es posible que las suscripciones no reciban publicaciones de los publicadores remotos y que los mensajes de los publicadores no se propaguen a las suscripciones remotas del clúster.
Se debe prestar una atención especial antes de configurar un sistema de este tipo, ya que puede conllevar un comportamiento confuso.
Varias definiciones de temas de clúster en un clúster de direccionamiento directo
- Cada definición da como resultado que se envíe un objeto de tema de clúster adicional a los otros gestores de colas del clúster, incluidos los gestores de colas de host de tema de clúster.
- Todas las definiciones de un tema específico de un clúster deben ser idénticas, de lo contrario, será difícil asegurarse de qué definición de tema está utilizando un gestor de colas.
Tampoco es esencial que solo el gestor de colas de host esté siempre disponible para que el tema funcione correctamente en todo el clúster, debido a que los gestores de colas de repositorio completo guardan la definición del tema de clúster en la memoria caché y los otros gestores de colas la guardan en sus repositorios parciales de clúster. Para obtener más información, consulte Disponibilidad de gestores de colas de host de tema que utilizan direccionamiento directo.
Para una situación en la que es posible que tenga que definir temporalmente un tema de clúster en un segundo gestor de colas, por ejemplo, cuando el host existente del tema se va a eliminar del clúster, consulte Mover una definición de tema de clúster a un gestor de colas diferente.
Si tiene que modificar una definición de tema de clúster, preste atención y modifíquela en el mismo gestor de colas en que se ha definido. Si intenta modificarla desde otro gestor de colas es posible que se cree accidentalmente una segunda definición del tema con atributos de tema que pueden estar en conflicto.
Varias definiciones de temas de clúster en un clúster de direccionamiento de host de tema
Cuando se define un tema de clúster con un direccionamiento de clúster de host de tema, el tema se propaga entre todos los gestores de colas del clúster, del mismo modo que en los temas de direccionamiento directo. Adicionalmente, toda la mensajería de publicación/suscripción de dicho tema se direcciona a través de los gestores de colas donde se ha definido dicho tema. Por lo tanto, la ubicación y el número de definiciones del tema en el clúster adquieren importancia (véase Topic host routing in publish/subscribe clusters ).
Para asegurar la disponibilidad y escalabilidad adecuadas, si es posible, tenga varias definiciones de temas. Consulte Disponibilidad de gestores de colas de host de tema que utilizan el direccionamiento de host de tema.
Cuando añada o elimine definiciones adicionales de un tema de direccionamiento de host de tema en un clúster, debe tener en cuenta el flujo de mensajes en el momento en que se realiza el cambio de configuración. Si en el momento en que se realiza el cambio se están publicando mensajes para el tema en el clúster, es necesario un proceso gradual para añadir o eliminar una definición de tema. Consulte Mover una definición de tema de clúster a un gestor de colas diferente y Añadir hosts de tema adicionales a un clúster de direccionamiento de host de tema.
Como se ha descrito anteriormente, las propiedades de varias definiciones deben coincidir, con la posible excepción del parámetro PUB, como se describe en la sección siguiente. Cuando las publicaciones se direccionan a través de los gestores de colas de host de temas resulta incluso más importante que si existen múltiples definiciones éstas sean coherentes. Por lo tanto, si se detecta una incoherencia en la serie de tema o en el nombre del clúster se rechazará cuando se hayan configurado una o varias definiciones de temas para el direccionamiento de clúster de host de tema.
Manejo especial del parámetro PUB
El parámetro PUB se utiliza para controlar cuando pueden las aplicaciones publicar en un tema. En el caso del direccionamiento de host de tema en un clúster, también puede controlar qué gestores de colas de host de tema se utilizan para el direccionamiento de publicaciones. Por este motivo se permite que existan varias definiciones del mismo objeto de tema en el clúster, con valores diferentes para el parámetro PUB.
- Ningún objeto de tema coincidente definido en el gestor de colas al que está conectado el publicador se ha establecido en
PUB(DISABLED). - Una o varias definiciones de temas de clúster se han establecido en
PUB(ENABLED)o una o varias definiciones de temas se han establecido enPUB(ASPARENT)y los gestores de colas locales donde está conectado el publicador y donde se ha definido la suscripción están establecidos enPUB(ENABLED)en un punto superior del árbol de temas.
En el caso del direccionamiento de host de tema, cuando los mensajes los publican las aplicaciones conectadas a gestores de colas que no son hosts de temas, solo se direccionan los mensajes a los gestores de colas de host de tema si el parámetro PUB no se ha establecido de forma explícita en DISABLED. Por lo tanto, puede utilizar el valor PUB(DISABLED) para desactivar temporalmente el tráfico de mensajes a través de determinados hosts de temas. Es posible que desee hacerlo para preparar el mantenimiento o la eliminación de un gestor de colas, o por las razones descritas en Adición de hosts de temas adicionales a un clúster de direccionamiento de host de tema.