es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

ActiveMQ Artemis: Direcciones IP internas y externas.

Estamos ejecutando un clúster de ActiveMQ Artemis en un clúster de Kubernetes. Todas nuestras aplicaciones (Java/Springboot/JMS) que se ejecutan en el clúster de Kubernetes se benefician al conectarse directamente a las instancias del broker.

Sin embargo, las direcciones IP de la red de Pods de Kubernetes no están disponibles fuera del clúster. Exponer las instancias del broker a la red pública es posible, pero con diferentes direcciones IP. Esto es similar a ocultar el clúster de Artemis detrás de una configuración NAT. Al conectarse a los brokers a través de las direcciones IP públicas, las aplicaciones cliente reciben información de la topología del clúster que contiene direcciones IP (¿o nombres de host?) que no son accesibles fuera del clúster.

¿Existe alguna forma de manejar direcciones IP y/o nombres de host “internos” y “externos” y hacer que el descubrimiento de la topología funcione para aplicaciones externas al clúster?

Y, relacionado con esto (no soy desarrollador Java): ¿Existe alguna forma de registrar la información de topología recibida para aplicaciones JMS?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de manejar las direcciones IP/nombres de host “internos” y “externos” para el clúster de ActiveMQ Artemis que se ejecuta en un clúster de Kubernetes. Una opción es configurar un servicio de Kubernetes con un tipo de NodePort o LoadBalancer que mapee el tráfico entrante desde direcciones IP externas a las direcciones IP internas de las instancias del broker en el clúster de Artemis. Esto permite que las aplicaciones externas se conecten al clúster de Artemis utilizando las mismas direcciones IP que utilizan las aplicaciones internas.

    Para hacer que la detección de la topología funcione para las aplicaciones externas al clúster, las instancias del broker en el clúster deben configurarse para anunciar sus direcciones IP/nombres de host externos en lugar de los internos. Esto se puede lograr configurando el atributo host en el elemento <connectors> del archivo de configuración del broker.

    En cuanto a registrar la información de la topología recibida para las aplicaciones JMS, esto se puede lograr configurando el atributo loggingLevel en el elemento <cluster-connections> del archivo de configuración del broker en TRACE. Esto habilitará el registro de eventos de la topología del clúster a un nivel detallado, incluyendo las direcciones IP y nombres de host de los brokers en el clúster.

Comments are closed.