En esta pequeña guía vamos a levantar un servicio RabbitMQ usando Docker en nuestro PC.
Luego ejecutaremos un productor y un consumidor muy sencillos escritos en Python.
Esto te puede servir como primer contacto con esta tecnología de intercambio de mensajes.
0 - Entorno
- Hardware: MacBook Pro (13 pulgadas, 2019, cuatro puertos Thunderbolt 3)
- Software preinstalado: Docker for Mac, Python3
1 - Arranca el servicio de Rabbit
Ejecutaremos el siguiente comando para ejecutar la imagen de Rabbit:
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
Si todo va bien, veremos unas trazas similares a:
Además podemos acceder al monitor de Rabbit en http://localhost:15672/ con el usuario guest/guest:
2 - Escribir el productor y el consumidor en Python
- emisor.py
- receptor.py
#!/usr/bin/env python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='', routing_key='hello', body='Hola Mundo!')
print(" [x] Sent 'Hola Mundo!'")
connection.close()
receptor.py
#!/usr/bin/env python
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
print(' [*] Waiting for messages. To exit press CTRL+C')
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
channel.basic_consume(queue='hello', on_message_callback=callback)
channel.start_consuming()
Vemos que hemos importado una librería llamada pika, por lo tanto antes de ejecutar los scripts, instalaremos esta librería:
pip install pika
Ya estamos listos para lanzar los scripts.
3 - Ejecutar el productor y el consumidor
Ahora podremos abrir dos CMD, levantando primero el receptor:
python receptor.py
y luego el emisor:
python emisor.py
Tras enviar el mensaje podremos volver a la consola del receptor y ver que ha recibido el mensaje:
Así de simple!
Comentarios
Publicar un comentario