---
# System prepended metadata

title: T.1.3.3 Protocolo AMQP - Direct Exchange

---

# T.1.3.3 Protocolo AMQP - Direct Exchange

![](https://i.imgur.com/dszF8Ih.png)

En este taller se muestra los dos escenario explicado en clase sobre el intercambiador directo. Para este propósito se usará el sitio web administrativo de RabbitMQ (http://localhost:15672/).

## Configuración del intercambiador

1. Inicie sesión a la plataforma de RabbitMQ.
2. Haga click en la pestaña "Exchanges".
3. Cree un nuevo intercambiador llamado "servientrega" y haga click en agregar intercambiador.  En la figura siguente se muestra los parámetros por defectos.

    ![](https://i.imgur.com/LKW0W0o.png)

3. Una vez, creado el intercambiador la tabla de intercambiadores debería mostrar el intercambiador creado.  En la figura siguiente se observa el intercambiador "servientrega".
 ![](https://i.imgur.com/raP8Sd4.png)


## Configuración de las colas

1. Haga click en la pestaña "Queues".
2. Cree las dos colas, a la primera la denominaremos "manta" y la sengunda "manta_logs". Al crear las colas exiten dos métodos estos son: "durable" y "transient".  La cola duradera se almacena en el disco, mientras que los metadatos de una cola transitoria se almacenan en la memoria cuando es posible. En nuestro caso cree las colas de manera **transitoria**. 
3. En la figura siguiente se muestra los valores por defecto para la cola "manta_logs"
    ![](https://i.imgur.com/FaBH82h.png)
4. En la figura siguiente se muestra las colas creadas "manta" y "manta_logs".
    ![](https://i.imgur.com/wbVSCgb.png)

## Binding entre intercambiador y colas

1. Haga click en la pestaña "Exchanges".
2. Una vez, dentro haga click en el intercambiador "servientrega". Esta opción permite mostrar las caracteristicas del intercambiador así como la relación con las colas y configurarlas.  Además, permite publicar (enviar) mensajes a las colas, enrutar, y eliminar el intercambiador.   En la figura siguiente se observa que no existe "bindings" creado. 

    ![](https://i.imgur.com/kIvykjr.png)

3. A continuación, se procede a crear los bindings que permita relacionar las colas creadas. En la figura siguente se muestra la creación del bindings para la cola "manta".
    ![](https://i.imgur.com/NfTSlkq.png)

5. Proceda hacer el paso anterior para la cola "manta_logs"
6. En la figura siguiente se muestra los dos bindings creado.
    ![](https://i.imgur.com/yVaAxNZ.png)


## Ejecución del consumidor

Una vez creado los pasos anteriores a continuación se procede a levantar un consumidor. Para este caso el productor será el intercambiador "servientrega" mediante su método "publish menssage". 

1. Cree una copía del programa `amqp-consumidor.py` y grabe con el nombre `amqp-direct-consumer.py`. Una vez, realizado lo anterior cambie el nombre de la cola por "manta" y ejecute el programa en la consola # 1. En la figura siguiente se muestra lo indicado:

 ![](https://i.imgur.com/Bz93qiK.png)

2. Desde el intercambiador "servientrega" envíe tres mensajes. Para esto en el contenido del mensaje "Payload" escriba A y haga click en "Publish message" le ha de salir una ventana en donde muestra que su mensaje ha sido publicado.  En la figura siguiente se muestra la captura luego de haber enviado caracter "C".  

![](https://i.imgur.com/djUWGeX.png)

3. Verifique lo ocurrido en el programa que se encuentra en ejecución. En la imagen siguiente se muestra los mensajes enviados desde el broker. 
    ![](https://i.imgur.com/2Fn4LS4.png)

## Cola manta_logs

Como pudo verificar el consumidor ha recibido los datos de la cola "manta" pero, ¿Qué ha ocurrido con los datos de la cola "manta_logs"?

Los datos de la cola "manta_logs" se mantiene en servidor para verificar lo anterior haga lo siguiente:

1. Haga click en la pestaña "Exchanges"
2. Busque la cola manta_logs y haga click
3. En la imagen siguiente se muestra una serie de mensajes que se encuentra en espera de que alguién lo consuma. En total se evidencia 6 mensajes. 
    ![](https://i.imgur.com/tEIHOAJ.png)

5. Usando el programa `amqp-direct-consumer.py` cambie el nombre de la cola a "manta_logs" y ejecute en otra consola.  Los resultados se muestra en la figura siguiente:

    ![](https://i.imgur.com/e6e4QKs.png)

6. Vuelva a revisar la cola "manta_logs" y verifique lo ocurrido
    ![](https://i.imgur.com/8B8QcEg.png)

7. Saque sus propias conclusiones.

