Redis es una herramienta Open source la cual puede ser utilizada como un almacén de estructura de datos en memoria, como una cache, como base de datos y como un broker
de mensajes. En la presente entrada, Redis: productor de mensajes en el broker, me centraré en describir cómo crear un productor de mensajes en el broker de mensajes de Redis. El ejemplo estará definido en lenguaje Python.
El primer paso es crear el broker al cual publicar mensajes; para ello, trabajaré con una imagen Docker con Redis. Para descargar la imagen y arrancar el contenedor es necesario ejecutar los siguientes comandos:
docker pull redis docker run --name some-redis -d redis
Tras su ejecución, tendremos Redis en una contenedor cuyo puerto de acceso es el 6379.
El segundo paso es crear un proyecto Python en donde definiremos la dependencia del paquete redis y un fichero de tipo Python con el código del productor.
Para crear la conexión con Redis, creamos un objeto de tipo Redis con los datos de la conexión a Redis. El snippet del código es el siguiente:
import redis publish_redis = redis.Redis(host=config.HOST_REDIS, port=config.PORT_REDIS, db=0)
Una vez creado la referecia a Redis, utilizaremos la función publish para publicar un mensaje en un topic de Redis. El snippet ejemplo es el siguiente:
msg = '{"message": "Test message-%d", "result": "OK"}' % index publish_redis.publish(config.TOPIC_REDIS, msg)
El valor config.TOPIC_REDIS corresponde con un valor alfanumérico.
Para el lector interesado, el código del enlace está en el siguiente enlace.
En la siguiente entrada, Redis: consumidor de mensajes, realizaré la descripción de un consumidor de mensajes.