¿Qué es Pub/Sub?

Pub/Sub es un servicio de mensajería asíncrona y escalable que separa los servicios que producen mensajes de aquellos que procesan esos mensajes.

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 canalizaciones de análisis de transmisiones y de integración de datos para transferir y distribuir datos. Es igual de efectivo que el middleware orientado a la mensajería para la integración de servicios o como una cola con el fin de paralelizar las tareas.

Pub/Sub te permite crear sistemas de productores y consumidores de eventos, llamados publicadores y suscriptores. Los publicadores se comunican con los suscriptores de forma asíncrona mediante la transmisión de eventos, en lugar de llamadas de procedimiento remoto (RPC) síncronas.

Los publicadores envían eventos al servicio de Pub/Sub, sin importar cómo o cuándo se procesarán estos eventos. Luego, Pub/Sub entrega eventos a todos los servicios que reaccionan a ellos. En los sistemas que se comunican a través de RPC, los publicadores deben esperar a que los suscriptores reciban los datos. Sin embargo, la integración asíncrona en Pub/Sub aumenta la flexibilidad y solidez del sistema general.

Para comenzar a usar Pub/Sub, consulta la Guía de inicio rápido para usar la Cloud de Confiance consola. Para obtener una introducción más completa, consulta Compila un sistema de mensajería de Pub/Sub.

Casos de uso habituales

  • Transferencia de la interacción del usuario y eventos del servidor: Para usar los eventos de interacción del usuario desde las aplicaciones del usuario final o los eventos del servidor de tu sistema, puedes reenviarlos a Pub/Sub. Luego, puedes usar una herramienta de procesamiento de transmisión para entregar los eventos a las bases de datos. Pub/Sub te permite recopilar eventos de muchos clientes de forma simultánea.
  • Distribución de eventos en tiempo real: Los eventos sin procesar o procesados pueden estar disponibles para varias aplicaciones en tu equipo y organización para su procesamiento en tiempo real. Pub/Sub admite un "bus de eventos empresarial y patrones de diseño de aplicaciones controlados por eventos. Pub/Sub te permite la integración con muchos sistemas que exportan eventos a Pub/Sub.
  • Replicar datos entre bases de datos: Por lo general, Pub/Sub se usa para distribuir eventos de cambios desde bases de datos. Estos eventos se pueden usar para crear una vista del estado de la base de datos y el historial de estados.
  • Procesamiento y flujos de trabajo paralelos: Puedes distribuir de manera eficiente muchas tareas entre varios trabajadores mediante el uso de 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 empresariales: Puedes crear un bus para compartir datos en tiempo real en toda la empresa que distribuya eventos empresariales, actualizaciones de bases de datos y eventos estadísticos en toda tu organización.
  • Transmisión de datos desde aplicaciones y servicios: 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 a través de una canalización de procesamiento de datos. Cloud de Confiance by S3NS
  • Actualización de cachés distribuidas. Por ejemplo, una aplicación puede publicar eventos de invalidación para actualizar los ID de los objetos que cambiaron.
  • Balanceo de cargas para la confiabilidad: Por ejemplo, las instancias de un servicio se pueden implementar en Compute Engine en varias zonas, pero se suscriben a un tema común. Cuando el servicio falla en cualquier zona, las demás pueden detectar la carga de forma automática.

Próximos pasos