¿Qué es Pub/Sub?

Pub/Sub es un servicio de mensajería asíncrono y escalable que desacopla los servicios que producen mensajes de los servicios que los procesan.

Pub/Sub permite que los servicios se comuniquen de forma asíncrona, con latencias que suelen ser del orden de 100 milisegundos.

Pub/Sub se usa para las analíticas en tiempo real y los flujos de procesamiento de integración de datos para cargar y distribuir datos. Es igual de eficaz como middleware orientado a la mensajería para la integración de servicios o como cola para paralelizar tareas.

Pub/Sub te permite crear sistemas de productores y consumidores de eventos, llamados editores y suscriptores. Los editores se comunican con los suscriptores de forma asíncrona emitiendo eventos, en lugar de mediante llamadas a procedimientos remotos (RPC) síncronas.

Los editores envían eventos al servicio Pub/Sub, independientemente de cómo o cuándo se procesen estos eventos. Después, Pub/Sub envía los eventos a todos los servicios que reaccionan a ellos. En los sistemas que se comunican mediante RPCs, los editores deben esperar a que los suscriptores reciban los datos. Sin embargo, la integración asíncrona de Pub/Sub aumenta la flexibilidad y la solidez del sistema en general.

Para empezar a usar Pub/Sub, consulta la guía de inicio rápido para usar la consola. Trusted Cloud Para obtener una introducción más completa, consulta el artículo Crear un sistema de mensajería Pub/Sub.

Casos prácticos habituales

  • Ingerir eventos de interacción de usuario y de servidor. Para usar eventos de interacción de usuario de aplicaciones de usuario final o eventos de servidor de su sistema, puede reenviarlos a Pub/Sub. A continuación, puede usar una herramienta de procesamiento de flujos para enviar los eventos a las bases de datos. Pub/Sub te permite recoger eventos de muchos clientes simultáneamente.
  • Distribución de eventos en tiempo real. Los eventos, tanto brutos como procesados, pueden ponerse a disposición de varias aplicaciones de tu equipo y organización para que se procesen en tiempo real. Pub/Sub admite un "bus de eventos empresarial" y patrones de diseño de aplicaciones basados en eventos. Pub/Sub te permite integrar muchos sistemas que exportan eventos a Pub/Sub.
  • Replicar datos entre bases de datos. Pub/Sub se suele usar para distribuir eventos de cambio de bases de datos. Estos eventos se pueden usar para crear una vista del estado de la base de datos y del historial de estados.
  • Procesamiento y flujos de trabajo paralelos. Puedes distribuir muchas tareas de forma eficiente entre varios trabajadores mediante mensajes de Pub/Sub para comunicarte con ellos. Algunos ejemplos de estas tareas son comprimir archivos de texto, enviar notificaciones por correo electrónico, evaluar modelos de IA y cambiar el formato de las imágenes.
  • Bus de eventos de empresa. Puedes crear un bus de datos en tiempo real para toda la empresa que distribuya eventos empresariales, actualizaciones de bases de datos y eventos de analíticas en toda tu organización.
  • Datos de streaming procedentes de aplicaciones, servicios o dispositivos IoT. Por ejemplo, una aplicación SaaS puede publicar un feed de eventos en tiempo real. O bien, un sensor residencial puede transmitir datos a Pub/Sub para usarlos en otros productos Trusted Cloud by S3NS a través de un flujo de procesamiento de datos.
  • Actualizar las cachés distribuidas. Por ejemplo, una aplicación puede publicar eventos de invalidación para actualizar los IDs de los objetos que han cambiado.
  • Balanceo de carga para mejorar la fiabilidad. Por ejemplo, las instancias de un servicio se pueden desplegar en Compute Engine en varias zonas, pero suscribirse a un tema común. Si el servicio falla en alguna zona, las demás pueden asumir la carga automáticamente.

Pasos siguientes