Pub/Sub: Hello Cloud Messaging | Curso Pub/Sub GCP

Pub/Sub: Hello Cloud Messaging (El Inicio de la Mensajería)

Autor: Eduardo Martínez Agrelo

Bienvenidos al punto de partida de las arquitecturas orientadas a eventos. Si estás acostumbrado a que los sistemas se hablen de forma directa (síncrona), Google Cloud Pub/Sub cambiará tu forma de diseñar software. En este primer laboratorio, romperemos las dependencias directas entre servicios mediante el desacoplamiento.

¿Qué es el modelo Publicador-Suscriptor?

En Pub/Sub, no enviamos datos directamente a un servidor. Utilizamos una abstracción de mensajería masiva distribuida:

  • Topic (Tema): Es el canal o "tablón de anuncios" donde los emisores dejan sus mensajes sin saber quién los leerá.
  • Subscription (Suscripción): Es el mecanismo que permite a los interesados recibir los mensajes que se publican en un tema específico.

Infraestructura como Código con Terraform

Para garantizar que nuestro entorno sea profesional y replicable, no utilizaremos la consola web de GCP. Definiremos nuestra infraestructura mediante archivos de configuración:

resource "google_pubsub_topic" "lab1" { ... }

Esta metodología nos permite versionar nuestra infraestructura, permitiendo que cualquier miembro del equipo despliegue exactamente el mismo entorno con un simple comando.

El Ciclo de Vida del Mensaje

Es fundamental comprender que Pub/Sub garantiza la entrega del mensaje, pero requiere una confirmación de nuestra parte:

  • Push/Pull: El mensaje viaja desde el publicador hasta la suscripción donde queda almacenado.
  • Acknowledge (ACK): Nuestro suscriptor debe confirmar que ha procesado el mensaje correctamente. Si no lo hace, Pub/Sub volverá a enviarlo para evitar la pérdida de datos.

Implementación práctica

En este laboratorio, configuraremos un flujo básico de "Hola Mundo". Crearemos un publisher.py que enviará cadenas de texto codificadas en bytes y un subscriber.py que escuchará de forma asíncrona. Utilizaremos el SDK oficial de Google Cloud para Python, aprendiendo a gestionar las credenciales y las rutas de los recursos creados previamente con Terraform.

Conclusión: Tu primer sistema desacoplado

Has dado el paso más importante: entender que los sistemas escalables no deben depender los unos de los otros. Ya tienes una tubería de comunicación funcional y segura en la nube. El siguiente nivel será aprovechar este desacoplamiento para multiplicar el impacto de un solo mensaje mediante el patrón Fan-Out.

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