Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
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 de alrededor de 100 milisegundos.
Pub/Sub se usa para las canalizaciones de integración de datos y estadísticas de transmisión a fin de cargar 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.
Transferir la interacción del usuario y los eventos del servidor Para usar eventos de interacción del usuario desde apps de usuario final o eventos de servidor de tu sistema, puedes reenviarlos a Pub/Sub. Luego, puedes usar una
herramienta de procesamiento de flujos, como Dataflow, que entrega
los eventos a las bases de datos. Algunos ejemplos de estas bases de datos son
BigQuery, Bigtable y Cloud Storage.
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 basados en eventos.
Pub/Sub te permite integrar 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 en BigQuery y otros sistemas de almacenamiento de datos.
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, servicios o dispositivos de la IoT.
Por ejemplo, una aplicación de SaaS puede publicar un feed de eventos en tiempo real. También, un sensor residencial puede transmitir datos a Pub/Sub para usarlos en otros productos de Google Cloud a través de una canalización de procesamiento de datos.
Actualización de cachés distribuidas. Por ejemplo, una aplicación puede publicar eventos de invalidación para actualizar los IDs 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.
Compara Pub/Sub con otras tecnologías de mensajería
Pub/Sub combina la escalabilidad horizontal de Apache Kafka y Pulsar con funciones que se encuentran en el middleware de mensajería, como Apache ActiveMQ y RabbitMQ. Algunos ejemplos de estas funciones son las colas de mensajes no entregados y los filtros.
Otra característica que Pub/Sub adopta en el middleware de mensajería es el paralelismo por mensaje, en lugar de la mensajería basada en particiones.
Pub/Sub “asigna tiempo” a mensajes individuales a clientes suscriptores y, luego, realiza un seguimiento de si un mensaje determinado se procesó de forma correcta.
Por el contrario, otros sistemas de mensajería escalables de forma horizontal usan particiones para el escalamiento horizontal. Esto obliga a los suscriptores a procesar mensajes en cada partición en orden y limita la cantidad de clientes simultáneos a la cantidad de particiones. El procesamiento por mensaje maximiza el paralelismo de las aplicaciones de suscriptores y ayuda a garantizar la independencia del publicador y del suscriptor.
Comparación entre la comunicación de servicio a servicio y de servicio a cliente
Pub/Sub está diseñado para la comunicación de servicio a servicio en lugar de la comunicación con los usuarios finales o los clientes de IoT. Otros patrones son más compatibles con otros productos:
Pub/Sub tiene muchas integraciones con otros productos de Google Cloud para crear un sistema de mensajería con todas las funciones:
Procesamiento de transmisiones y de integración de datos Compatible con Dataflow, incluidas las plantillas y SQL de Dataflow, que permiten el procesamiento y la integración de datos en BigQuery y data lakes en Cloud Storage. Las plantillas de Dataflow para mover datos de Pub/Sub a Cloud Storage, BigQuery y otros productos están disponibles en las IU de Pub/Sub y Dataflow en la consola deGoogle Cloud . La integración con Apache Spark, en especial cuando se administra con Dataproc, también está disponible. La composición visual de las canalizaciones de integración y procesamiento que se ejecutan en Spark + Dataproc se puede lograr con Data Fusion.
Supervisión, alertas y registros Son compatibles con los productos de Supervisión y Registro.
Autenticación y IAM. Pub/Sub se basa en una autenticación de OAuth estándar que usan otros productos de Google Cloud y admite IAM detallada, lo que permite el control de acceso para los recursos individuales.
Activadores, notificaciones y webhooks. Pub/Sub ofrece entrega de mensajes basada en envíos como solicitudes POST HTTP a webhooks. Puedes implementar la automatización de flujos de trabajo con Cloud Functions o cualquier otro producto sin servidores.
Organización. Pub/Sub se puede integrar en los flujos de trabajo sin servidores de varios pasos de forma declarativa. La organización analítica y de macrodatos a menudo se realiza con Cloud Composer, que admite activadores de Pub/Sub.
También puedes integrar Pub/Sub con Application Integration (versión preliminar), que es una solución de plataforma de integración como servicio (iPaaS). La integración de aplicaciones proporciona un
activador de Pub/Sub
para activar o iniciar integraciones.
Integration Connectors.(Versión preliminar)
Estos conectores te permiten conectarte a varias fuentes de datos.
Con los conectores, los servicios de Google Cloud y las aplicaciones empresariales de terceros están expuestos a tus integraciones a través de una interfaz estándar y transparente. En el caso de Pub/Sub, puedes crear una conexión de Pub/Sub para usarla en tus integraciones.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[],[],null,["# What is Pub/Sub?\n\n| **Key Point:** Understand what is Pub/Sub, why do businesses require Pub/Sub, and the advantages of Pub/Sub compared to similar technologies. Also, learn about core Pub/Sub concepts that include the terms topic, publisher, and subscriber.\n\nPub/Sub is an asynchronous and scalable messaging service that decouples\nservices producing messages from services processing those messages.\n\nPub/Sub allows services to communicate asynchronously, with\nlatencies typically on the order of 100 milliseconds.\n\nPub/Sub is used for streaming analytics and data integration\npipelines to load and distribute data. It's equally effective as a\nmessaging-oriented middleware for service integration or as a queue to parallelize tasks.\n\nPub/Sub lets you create systems of event producers and consumers,\ncalled **publishers** and **subscribers**. Publishers communicate with\nsubscribers asynchronously by broadcasting events, rather than by\nsynchronous remote procedure calls (RPCs).\n\nPublishers send events to the Pub/Sub service, without regard to\nhow or when these events are to be processed. Pub/Sub then\ndelivers events to all the services that react to them. In systems communicating\nthrough RPCs, publishers must wait for subscribers to receive the data. However,\nthe asynchronous integration in Pub/Sub increases the flexibility\nand robustness of the overall system.\n\nTo get started with Pub/Sub, check out the\n[Quickstart using Google Cloud console](/pubsub/docs/create-topic-console).\nFor a more comprehensive introduction, see\n[Building a Pub/Sub messaging system](/pubsub/docs/quickstart-py-mac).\n\nCommon use cases\n----------------\n\n- **Ingesting user interaction and server events.** To use user interaction events from end-user apps or server events from your system, you might forward them to Pub/Sub. You can then use a stream processing tool, such as Dataflow, which delivers the events to databases. Examples of such databases are BigQuery, Bigtable, and Cloud Storage. Pub/Sub lets you gather events from many clients simultaneously.\n- **Real-time event distribution.** Events, raw or processed, may be made available to multiple applications across your team and organization for real- time processing. Pub/Sub supports an \"enterprise event bus\" and event-driven application design patterns. Pub/Sub lets you integrate with many systems that export events to Pub/Sub.\n- **Replicating data among databases.** Pub/Sub is commonly used to distribute change events from databases. These events can be used to construct a view of the database state and state history in BigQuery and other data storage systems.\n- **Parallel processing and workflows.** You can efficiently distribute many tasks among multiple workers by using Pub/Sub messages to communicate with the workers. Examples of such tasks are compressing text files, sending email notifications, evaluating AI models, and reformatting images.\n- **Enterprise event bus.** You can create an enterprise-wide real-time data sharing bus, distributing business events, database updates, and analytics events across your organization.\n- **Data streaming from applications, services, or IoT devices.** For example, a SaaS application can publish a real-time feed of events. Or, a residential sensor can stream data to Pub/Sub for use in other Google Cloud products through a data-processing pipeline.\n- **Refreshing distributed caches.** For example, an application can publish invalidation events to update the IDs of objects that have changed.\n- **Load balancing for reliability.** For example, instances of a service may be deployed on Compute Engine in multiple zones but subscribe to a common topic. When the service fails in any zone, the others can pick up the load automatically.\n\nComparing Pub/Sub to other messaging technologies\n-------------------------------------------------\n\nPub/Sub combines the horizontal scalability of\n[Apache Kafka](/learn/what-is-apache-kafka) and\n[Pulsar](https://pulsar.apache.org/docs/en/2.4.0/concepts-overview/) with\nfeatures found in messaging middleware such as Apache ActiveMQ and\nRabbitMQ. Examples of such features are dead-letter queues and filtering.\n| **Note:** [Google Cloud Managed Service for Apache Kafka](/managed-service-for-apache-kafka/docs/overview) is available. If you're considering a migration from Kafka to Pub/Sub, consult [this migration guide](/architecture/migrating-from-kafka-to-pubsub).\n\nAnother feature that Pub/Sub adopts from messaging middleware is\n**per-message parallelism**, rather than partition-based messaging.\nPub/Sub \"leases\" individual messages to subscriber clients, then\ntracks whether a given message is successfully processed.\n\nBy contrast, other horizontally scalable messaging systems\nuse partitions for horizontal scaling. This forces subscribers\nto process messages in each partition in order and limits the number of concurrent\nclients to the number of partitions. Per-message processing\nmaximizes the parallelism of subscriber applications, and helps ensure\npublisher and subscriber independence.\n\nCompare Service-to-service and service-to-client communication\n--------------------------------------------------------------\n\nPub/Sub is intended for service-to-service communication rather\nthan communication with end-user or IoT clients. Other patterns are\nbetter supported by other products:\n\n- **Client-server.** To send messages between a mobile or web app and a service, use products that include [Firebase Realtime Database](https://firebase.google.com/docs/database) and [Firebase Cloud Messaging](https://firebase.google.com/docs/cloud-messaging).\n- **Asynchronous service calls.** Use [Cloud Tasks](/tasks/docs/dual-overview).\n\nYou can use a combination of these services to build client -\\\u003e services -\\\u003e database\npatterns. For example, see the tutorial\n[Streaming Pub/Sub messages over WebSockets](/pubsub/docs/streaming-cloud-pub-sub-messages-over-websockets).\n\nIntegrations\n------------\n\nPub/Sub has many integrations with other Google Cloud products to create a fully\nfeatured messaging system:\n\n- **Stream processing and data integration.** Supported by [Dataflow](/dataflow/docs), including Dataflow [templates](/dataflow/docs/concepts/dataflow-templates) and [SQL](/dataflow/docs/samples/join-streaming-data-with-sql), which allow processing and data integration into BigQuery and data lakes on Cloud Storage. Dataflow templates for moving data from Pub/Sub to Cloud Storage, BigQuery, and other products are available in the Pub/Sub and Dataflow UIs in the Google Cloud console. Integration with [Apache Spark](/learn/what-is-apache-spark), particularly when managed with [Dataproc](/dataproc/docs/concepts/overview) is also available. Visual composition of integration and processing pipelines running on Spark + Dataproc can be accomplished with [Data Fusion](/data-fusion/docs/concepts/overview).\n- **Monitoring, Alerting and Logging.** Supported by Monitoring and Logging products.\n- **Authentication and IAM.** Pub/Sub relies on a standard OAuth authentication used by other Google Cloud products and supports granular IAM, enabling access control for individual resources.\n- **APIs.** Pub/Sub uses standard [gRPC and REST service API\n technologies](/pubsub/docs/apis) along with [client libraries](/pubsub/docs/reference/libraries) for several languages.\n- **Triggers, notifications, and webhooks.** Pub/Sub offers push-based delivery of messages as HTTP POST requests to webhooks. You can implement workflow automation using [Cloud Functions](/functions/docs) or other serverless products.\n- **Orchestration.** Pub/Sub can be integrated into multistep serverless [Workflows](/workflows) declaratively. Big data and analytic orchestration often done with [Cloud Composer](/composer/docs), which supports Pub/Sub triggers. You can also integrate Pub/Sub with [Application Integration](/application-integration/docs/overview) ([Preview](/products#product-launch-stages)) which is an Integration-Platform-as-a-Service (iPaaS) solution. Application Integration provides a [Pub/Sub trigger](/application-integration/docs/configuring-pubsub-trigger) to trigger or start integrations.\n- **Integration Connectors.** ([Preview](/products#product-launch-stages)) These [connectors](/integration-connectors/docs/about-connectors) let you connect to various data sources. With connectors, both Google Cloud services and third-party business applications are exposed to your integrations through a transparent, standard interface. For Pub/Sub, you can create a Pub/Sub [connection](/integration-connectors/docs/connectors/cloudpub/sub/configure) for use in your integrations.\n\nNext steps\n----------\n\n- Get started with the Pub/Sub [quickstart](/pubsub/docs/create-topic-console).\n- Read the [basics of the\n Pub/Sub service](/pubsub/docs/pubsub-basics).\n- Learn how to [build a\n Pub/Sub messaging system](/pubsub/docs/quickstart-py-mac).\n- Understand Pub/Sub [pricing](/pubsub/pricing).\n- Understand quotas and limits for [Pub/Sub](/pubsub/quotas).\n- Read the Pub/Sub [release\n notes](/pubsub/docs/release-notes).\n- [Explore data\n engineering with Google Cloud services](https://www.qwiklabs.com/courses/1530?catalog_rank=%7B%22rank%22%3A3%2C%22num_filters%22%3A0%2C%22has_search%22%3Atrue%7D&search_id=10146692) on Qwiklabs."]]