¿Cómo configuro el complemento RabbitMQ Federation en mi agente de Amazon MQ?

Última actualización: 19/04/2022

Quiero distribuir los mensajes de un agente local a un agente de Amazon MQ para RabbitMQ mediante el complemento RabbitMQ Federation. ¿Cómo configuro mi agente de Amazon MQ for RabbitMQ para que funcione con el complemento RabbitMQ Federation?

Descripción breve

Para configurar el complemento RabbitMQ Federation en un agente de Amazon MQ para RabbitMQ, debe configurar lo siguiente en el agente de flujo descendente:

  • Uno o más parámetros de flujo ascendente de federación que definan las conexiones de federación a colas o intercambios remotos.
  • Una política de RabbitMQ que permita federar colas o intercambios remotos específicos.
  • Un intercambio con una nueva cola vinculada para recibir mensajes.

Resolución

Nota: el siguiente procedimiento requiere dos agentes: un agente de flujo ascendente (local o basado en la nube) y un agente de flujo descendente (el agente de Amazon MQ para RabbitMQ).

Crear uno o más parámetros de flujo ascendente de federación que definan las conexiones de federación a colas o intercambios remotos

1.    Abra la consola de Amazon MQ.

2.    En el panel de navegación izquierdo, elija Brokers (Agentes).

3.    En la columna Name (Nombre), elija el nombre de su agente de flujo descendente.

4.    En el panel Connections (Conexiones), seleccione la URL que aparece debajo de la consola web de RabbitMQ. Se abrirá la página de inicio de sesión de la consola web de RabbitMQ para su agente de flujo descendente.

5.    Especifique el Username (Nombre de usuario) y la Password (Contraseña) para su agente. A continuación, seleccione Login (Iniciar sesión) para iniciar sesión en la consola web de RabbitMQ.

6.    En la consola web de RabbitMQ, elija la pestaña Admin. A continuación, en el panel de navegación derecho, elija Federation Upstreams (Flujos ascendentes de federación).

7.    Elija Add a new upstream (Agregar un nuevo flujo ascendente).

8.    En Name (Nombre), ingrese un nombre para el parámetro.

9.    Para el URI, elimine el texto predeterminado amqp://e ingrese el URI del agente de flujo ascendente con el siguiente formato:

amqps://$UPSTREAM_BROKER_USER:$UPSTREAM_BROKER_PASSWORD@$UPSTREAM_BROKER_ENDPOINT:5671

10.    Seleccione Add upstream (Agregar flujo ascendente).

Crear una política de RabbitMQ que permita federar colas o intercambios remotos específicos

1.    Abra la consola web de RabbitMQ del agente de flujo descendente. Para obtener instrucciones, consulte los pasos 1 a 5 de la sección Crear un parámetro de federación ascendente con la consola web de RabbitMQ de este artículo.

2.    Elija la pestaña Admin (Administrador). A continuación, en el panel de navegación derecho, elija Policies (Políticas).

3.    Elija Add / update a policy (Agregar o actualizar una política).

4.    En Name (Nombre), ingrese un nombre para la política.

5.    En Pattern (Patrón), ingrese una expresión regular que coincida con las colas o los nombres de intercambio que desea permitir que se federen.

6.    En Apply to (Aplicar a), seleccione Exchanges (Intercambios) en la lista desplegable.

Nota: la aplicación de la política a Exchanges (Intercambios) permite que la política se aplique solo a los intercambios en el agente de flujo descendente.

7.    En Priority (Prioridad), ingrese el número 1.

Nota: la configuración de Priority (Prioridad) se usa para determinar qué política se debe aplicar a un intercambio o cola si varias políticas tienen el mismo nombre. Si se especifica la configuración Priority (Prioridad) como 1, se evita que cualquier política predeterminada de Amazon MQ que tenga el mismo nombre anule la política.

8.    En Definition (Definición), ingrese federation-upstream-set como clave en el primer cuadro de texto, antes del signo =. A continuación, especifique all (todo) como valor en el segundo cuadro de texto, a la derecha del signo =.

9.    Elija Add / update policy (Agregar o actualizar política).

Crear un intercambio con una nueva cola vinculada a este para recibir mensajes

1.    Abra la consola web de RabbitMQ del agente de flujo descendente. Para obtener instrucciones, consulte los pasos 1 a 5 de la sección Crear un parámetro de federación ascendente con la consola web de RabbitMQ de este artículo.

2.    Elija la pestaña Queues (Colas).

3.    En Add a new queue (Agregar una nueva cola), especifique en Name (Nombre) el nombre de la nueva cola que va a recibir mensajes.

4.    Elija Add queue (Agregar cola).

5.    Elija la pestaña Exchanges (Intercambios).

6.    En Add a new exchange (Agregar un nuevo intercambio), ingrese en Name (Nombre) la expresión regular que coincida con el nombre de intercambio que usó al crear la política de RabbitMQ.

7.    Elija Add exchange (Agregar intercambio).

Nota: RabbitMQ también crea un intercambio en el agente de flujo ascendente que tiene el mismo nombre de manera automática.

8.    Elija la pestaña Exchanges (Intercambios).

9.    En All exchanges (Todos los intercambios), elija el nombre del nuevo intercambio que creó.

10.    En Bindings (Vinculaciones), para Add binding from this exchange (Agregar vinculación desde este intercambio), seleccione To queue (Para poner en cola) en la lista desplegable. A continuación, ingrese el nombre de la cola que creó.

11.    En Routing key (Clave de enrutamiento), especifique un valor de su elección. Los mensajes enviados al intercambio en el agente de flujo ascendente que usa este valor también se envían a la cola vinculada a este intercambio.

12.    Elija Bind (Vincular).

Probar la configuración

Enviar un mensaje de prueba al intercambio de origen del agente de flujo ascendente

1.    Abra la consola web de RabbitMQ del agente de flujo ascendente.

Nota: para obtener más información sobre cómo acceder a la consola web de RabbitMQ, consulte Complemento de administración en la documentación de RabbitMQ.

2.    Elija la pestaña Exchanges (Intercambios). A continuación, seleccione el nombre del intercambio de origen.

3.    En el panel de navegación izquierdo, elija Publish message (Publicar mensaje). Se abrirá la sección Publish message (Publicar mensaje).

4.    En el cuadro de texto Routing key (Clave de enrutamiento), especifique el valor de clave de enrutamiento que creó.

5.    En el cuadro de texto Payload (Carga), ingrese un mensaje de prueba.

Nota: puede dejar los cuadros de texto Headers (Encabezados) y Properties (Propiedades) en blanco.

6.    Pulse el botón Publish message (Publicar mensaje). El mensaje de prueba se enviará al intercambio de origen. Si el parámetro de federación está configurado correctamente, el mensaje también se envía a la cola de destino del agente de flujo descendente.

Verificar que la cola de destino del agente de flujo descendente recibe el mensaje de prueba

1.    Abra la consola web de RabbitMQ del agente de flujo descendente.

2.    Elija la pestaña Queues (Colas). A continuación, elija el nombre de la cola de destino.

3.    En el panel de navegación izquierdo, elija Get messages (Obtener mensajes). Se abrirá la sección Get messages (Obtener mensajes).

4.    Haga clic en el botón Get messages (Obtener mensajes). Si el parámetro de federación está configurado correctamente, el mensaje de prueba que envió al intercambio de origen aparece como el valor Payload (Carga).


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?