Funcionamiento de PubSub en Google Cloud y su Integración con Dataflow

8/19
Recursos
Transcripción

¿Qué es PubSub y cómo funciona su integración en Google Cloud?

Imagina que tienes un servicio que puede capturar, procesar y transportar una gran cantidad de eventos en tiempo real de manera eficiente y escalable. Eso es exactamente lo que PubSub, un servicio de mensajería de Google Cloud, ofrece. Con una capacidad de escalabilidad masiva, PubSub se ha convertido en la columna vertebral para muchas arquitecturas de mensajería en tiempo real dentro del entorno de Google Cloud.

PubSub se integra perfectamente con otros servicios como Dataflow, Cloud Storage y BigQuery, lo que lo hace ideal para diversas soluciones de inteligencia de negocio. Con su capacidad de entrega de eventos escalable y persistente, soporta millones de registros en segundos, esencial para el análisis de datos en tiempo real.

¿Cuál es la funcionalidad principal de PubSub?

PubSub ofrece dos operaciones principales: publicar y suscribir. Este modelo permite que distintos sistemas generen eventos y los envíen a PubSub, donde pueden ser dirigidos a varios destinos para su posterior análisis y procesamiento. Un ejemplo práctico podría ser el uso de Cloud Logs para generar eventos que luego son dirigidos a PubSub y suscritos por servicios como Dataflow antes de ser almacenados en BigQuery.

Otra implementación típica incluye la integración de archivos desde Cloud Storage a PubSub, a través de Dataflow, llegando finalmente a un repositorio en BigQuery para su análisis. La flexibilidad y escalabilidad de PubSub permite estas y otras configuraciones avanzadas.

¿Cuáles son los patrones de mensajería habituales?

  1. Patrón básico de un único publicador: Un 'publisher' genera mensajes y los envía a un 'topic'. Un 'subscriber' luego recibe esos mensajes suscritos.

  2. Múltiples publicadores a un único tema: Varios 'publishers' envían mensajes a un solo 'topic', que distribuye diferentes mensajes a múltiples 'subscribers' con distintos patrones de color, por ejemplo.

  3. Reparto a múltiples suscriptores: Un 'publisher' envía mensajes a un solo 'topic', pero estos son distribuidos a más de un 'subscriber', replicando así la información entre varios puntos de recepción.

¿Cómo maneja PubSub la entrega y el procesamiento de mensajes?

PubSub proporciona dos métodos de entrega básicos, cada uno adecuado para diferentes necesidades de aplicación:

  • Pool Subscription: En este método, un 'subscriber' solicita mensajes, lo que establece una llamada pull para recibir los datos.

  • Push Subscription: Aquí, PubSub entrega directamente los mensajes a un endpoint específico, garantizando la entrega mientras el servicio esté activo.

Esta configuración también garantiza que los mensajes, aunque pueden ser recibidos en órdenes no consecutivos, siempre se entregarán. Además, el uso de un endpoint APIRes permite la conexión eficiente a otros sistemas.

¿Cuáles son las ventajas de integrar PubSub con Dataflow?

Integrar PubSub con Dataflow trae numerosas ventajas, especialmente al lidiar con grandes volúmenes de mensajes que pueden llegar fuera de orden o duplicados. Dataflow se utiliza entonces para:

  • Ordenar los mensajes: Asegurar que los mensajes se entregan secuencialmente al añadir un template ordenado.
  • Filtrar duplicados: Eliminación de mensajes repetidos para procesar solo las instancias necesarias.

Resolviendo problemas comunes con PubSub y Dataflow

La combinación de PubSub y Dataflow impecablemente resuelve problemas inherentes al manejo de mensajes en tiempo real de manera eficiente, lo cual es crucial para mantener un flujo de datos limpio y ordenado, optimizando así las operaciones de negocio basadas en datos.

La comprensión y aplicación de estos patrones y servicios no solo fortalecen las habilidades de gestión de datos en tiempo real, sino que también capacitan a las empresas para maximizar su potencial en entornos altamente dinámicos y competitivos. ¡Continúa explorando y expandiendo tus habilidades con Google Cloud!

Aportes 7

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Google Cloud Pub/Sub
Mensajería impulsada por eventos para la ingesta de datos y el movimiento de los mismos.

  • Ingestion y entrega de eventos escalables/ persistentes.
  • Patrón de publicación.
  • Servicio global.
  • Integrado con otras herramientas.

Esta fu una clase demasiada mal dirigida, por favor atentos @Platzi. Los que venimos aquí en muchos casos tenemos vagos conocomientos de eventos, mensajerías, etc, etc, etc. Creo que si llegan a detectar videos cómo este deberían hacer el esfuerzo de MEJORAR las explicaciones de alguna manera, no sé, dividan el video en 02 partes con explicaciones o ejemplos cotidianos e intuitivos, pero no solo pongan algo INENTELIGIBLE y supongan que “ya cubrieron el tema”. Espero no ver más videos así de generales.

esta excelente la clase

Hola, gracias por la explicación dada. QUisiera dar una recomendación para la clase nro 8: de pronto puede ser más fácil de comprender con algún ejemplo real .

### **Conceptos Básicos:** 1. **Temas (Topics):** * Un tema es un canal de comunicación donde los mensajes son publicados por un productor. * Los temas en Pub/Sub son duraderos y pueden retener mensajes durante un período configurable (retención de mensajes). 2. **Suscripciones (Subscriptions):** * Una suscripción es un punto de conexión que recibe y consume mensajes de un tema específico. * Las suscripciones pueden ser de tipo pull (extracción manual) o push (entrega automática a una URL HTTP/HTTPS). 3. **Mensajes (Messages):** * Los mensajes son los datos que se envían y reciben a través de Pub/Sub. * Cada mensaje tiene un identificador único, un cuerpo de datos y atributos opcionales (metadatos). ### **Funcionamiento:** 1. **Publicación (Publishing):** * Los productores (publisher) envían mensajes a un tema específico en Pub/Sub. * Los mensajes pueden ser publicados de forma individual o en lotes (batch). 2. **Suscripción (Subscription):** * Los consumidores (subscriber) se conectan a un tema a través de suscripciones para recibir mensajes. * Las suscripciones pueden ser duraderas (persistentes) o temporales (efímeras), según su configuración. 3. **Flujo de Mensajes:** * Cuando un mensaje es publicado en un tema, Pub/Sub lo distribuye a todas las suscripciones asociadas al tema. * Las suscripciones consumen mensajes de acuerdo con su método de recepción (pull o push). 4. **Escalabilidad y Disponibilidad:** * Pub/Sub es altamente escalable y distribuido, lo que permite manejar grandes volúmenes de mensajes y mantener alta disponibilidad. * Utiliza la infraestructura global de Google para garantizar baja latencia y alta durabilidad de mensajes. ### **Uso en Aplicaciones:** 1. **Integración de Sistemas:** * Pub/Sub se utiliza para integrar sistemas y servicios distribuidos en arquitecturas de microservicios, IoT, análisis de datos en tiempo real, etc. * Permite la comunicación asíncrona y la decoupling entre componentes de aplicaciones. 2. **Procesamiento de Eventos:** * Se utiliza para procesar eventos en tiempo real, como eventos de clickstream, logs, actualizaciones de bases de datos, etc. * Puede integrarse con servicios de procesamiento de datos como Dataflow, Spark, y funciones sin servidor (Cloud Functions). 3. **Colas de Mensajes:** * Pub/Sub se utiliza como una cola de mensajes para tareas en segundo plano, procesamiento de trabajos en lotes y gestión de carga. 4. **Análisis y Procesamiento de Datos:** * Permite la ingesta y procesamiento de datos en tiempo real para análisis, reporting y generación de insights. * Se integra con servicios de almacenamiento y análisis como BigQuery, Dataflow y Dataproc. ### **Seguridad y Gestión:** 1. **Seguridad:** * Pub/Sub proporciona controles de acceso basados en roles (IAM) para garantizar la seguridad y el cumplimiento normativo de los datos. * Los mensajes pueden ser cifrados en tránsito y en reposo para proteger la confidencialidad de los datos. 2. **Monitoreo y Logging:** * Se pueden habilitar registros de auditoría y monitoreo para rastrear el flujo de mensajes, el rendimiento y la actividad de Pub/Sub. * Se integra con Stackdriver Logging y Stackdriver Monitoring para análisis y visualización de datos de operaciones. Google Cloud Pub/Sub es un servicio de mensajería robusto y escalable que facilita la comunicación asíncrona entre componentes de aplicaciones distribuidas, la integración de sistemas, el procesamiento de eventos en tiempo real y el análisis de datos. Su arquitectura distribuida y sus características de seguridad lo convierten en una opción poderosa para implementar arquitecturas modernas y escalables en la nube.
Para lo que trabajan con Open source pub sub sería el simil de Kafka en Google Cloud
Google Cloud Pub/Sub es un servicio de mensajería robusto y escalable que facilita la comunicación asíncrona entre componentes de aplicaciones distribuidas, la integración de sistemas, el procesamiento de eventos en tiempo real y el análisis de datos. Su arquitectura distribuida y sus características de seguridad lo convierten en una opción poderosa para implementar arquitecturas modernas y escalables en la nube.