Cloud Composer: Preparando el Streaming con Pub/Sub | Curso Composer GCP

Cloud Composer: Preparando el Streaming (El Corazón de Pub/Sub)

Autor: Eduardo Martínez Agrelo

Hasta este punto del curso, hemos dominado el procesamiento por lotes (Batch). Sin embargo, las empresas modernas demandan respuestas inmediatas. Imagina analizar los clics de un usuario en una web mientras ocurren, no al día siguiente. Para lograr esto, necesitamos abandonar los archivos estáticos y entrar en el ecosistema del Streaming, empezando por su sistema nervioso central: Google Cloud Pub/Sub.

¿Qué es Google Cloud Pub/Sub?

Pub/Sub es un servicio de mensajería asíncrona diseñado para desacoplar los sistemas que producen datos de los sistemas que los procesan. Es la columna vertebral de cualquier arquitectura de tiempo real en GCP:

  • Escalabilidad Global: Capaz de gestionar millones de mensajes por segundo sin configuración de servidores.
  • Modelo Publicador-Suscriptor: Los emisores envían datos a un "Topic" sin saber quién los recibirá, permitiendo una arquitectura flexible y modular.
  • Persistencia: Los mensajes se almacenan de forma segura hasta que son entregados a los suscriptores.

Infraestructura de Mensajería con Terraform

Como ingenieros, no crearemos nuestros canales de comunicación manualmente. Seguiremos utilizando Terraform para garantizar que nuestra infraestructura de streaming sea replicable y profesional:

resource "google_pubsub_topic" "streaming_topic" { name = "ventas-streaming" }

Este pequeño bloque de código despliega un punto de entrada de alta disponibilidad que servirá como fuente de verdad para nuestros datos en movimiento.

Simulación de Tráfico Real (The Publisher)

Para que un pipeline de streaming tenga sentido, necesitamos un flujo constante de eventos. Desarrollaremos un script en Python que actuará como un simulador de e-commerce de alta intensidad:

  • Generación de Eventos: Crearemos diccionarios JSON aleatorios que representen acciones de usuarios como "vista de producto", "añadir al carrito" o "compra".
  • Publicación en Tiempo Real: Utilizaremos la librería oficial de Google Cloud para enviar estos eventos al Topic con latencias de milisegundos.

Implementación práctica

En este laboratorio, activaremos nuestro Topic mediante Terraform y ejecutaremos nuestro script publicador desde la terminal. Observaremos cómo la consola de Google Cloud empieza a registrar un flujo ininterrumpido de datos. Aunque Airflow aún no está procesando estos mensajes, estamos construyendo la "pista de despegue". Verás en directo cómo los mensajes se publican con IDs únicos, quedando listos para ser consumidos por un motor de procesamiento masivo.

Conclusión: La puerta al tiempo real

Has dado el salto del procesamiento estático al dinámico. Ya no esperas a que un archivo llegue; ahora tienes una tubería que vibra con datos en cada segundo. Tienes la fuente de datos; ahora necesitas el motor que los procese. En el siguiente laboratorio, escribiremos el código de Apache Beam que transformará este caos de mensajes en tablas estructuradas de BigQuery.

Newsletter GCP
¿Quieres estar al día con las últimas novedades de Google Cloud Platform? ¡Suscríbete y no te pierdas nada!