Descripción general de la publicación de mensajes

En este documento, se proporciona una descripción general sobre la publicación de mensajes.

Flujo de trabajo para publicar mensajes

Para publicar un mensaje con Pub/Sub, una aplicación de publicador crea y envía mensajes a un tema.

  1. Creación de un mensaje que contenga tus datos
  2. Selecciona cualquier atributo opcional de publicación.
  3. Envía una solicitud al servidor de Pub/Sub para publicar el mensaje en un tema específico.
  4. El servicio de Pub/Sub recibe el mensaje y lo procesa de la siguiente manera:

    • El mensaje se almacena para su distribución.

    • El mensaje se replica en varias zonas para garantizar su durabilidad y alta disponibilidad.

    • Pub/Sub identifica a los suscriptores con suscripciones que coinciden con el tema del mensaje y entrega una copia del mensaje a cada uno.

Pub/Sub ofrece entrega de mensajes al menos una vez y pedidos basados en el mejor esfuerzo a los suscriptores existentes.

Para obtener una descripción general del sistema Pub/Sub, consulta Descripción general del servicio de Pub/Sub.

Para obtener una explicación de cómo funciona Pub/Sub, consulta Descripción general de la arquitectura de Pub/Sub.

Acerca de los temas

Un tema de Pub/Sub es un recurso con nombre que representa un feed de mensajes. Cuando un publicador envía un mensaje, se segmenta a un tema específico. El servicio de Pub/Sub usa este nombre de tema para enrutar el mensaje a todas las suscripciones adjuntas al tema. Si una suscripción tiene varios suscriptores, solo un suscriptor de la suscripción recibe el mensaje.

Los publicadores no necesitan saber cuántos suscriptores existen. Se centran en el tema, lo que garantiza la separación de inquietudes entre el envío de mensajes y su recepción.

Replicación de datos en un tema

Un tema de Pub/Sub usa tres zonas para almacenar datos. El servicio admite la replicación síncrona en al menos dos zonas y la replicación del mejor esfuerzo en una tercera zona adicional. La replicación de Pub/Sub está dentro de una sola región.

Propiedades de un tema

Cuando creas o actualizas un tema, puedes especificar las propiedades del tema.

Acerca de los mensajes

Un mensaje de Pub/Sub son los datos que se mueven a través del servicio.

Un mensaje consiste en campos con los datos y los metadatos del mensaje. Se debe especificar una de las siguientes opciones en un mensaje.

  • Datos del mensaje: Es el contenido principal del mensaje, que puede ser cualquier dato binario o de texto. Representa la información real que deseas comunicar entre los publicadores y los suscriptores. Si usas directamente la API de REST, los datos del mensaje deben estar codificados en base64. Consulta el ejemplo en la pestaña REST en la sección Publica mensajes.

  • Una clave de ordenamiento: Es un identificador que representa la entidad para la que se deben ordenar los mensajes. Se espera que los mensajes con la misma clave de ordenamiento se entreguen a un suscriptor en el orden en que se publicaron. Esta clave solo es necesaria si quieres una entrega ordenada de tus mensajes. Para obtener más información sobre las claves de ordenamiento, consulta Mensaje de pedido.

  • Atributos: Son pares clave-valor opcionales que proporcionan información y contexto adicionales sobre el mensaje. Se pueden usar para enrutar, filtrar o enriquecer el contenido del mensaje. Por ejemplo, puedes agregar atributos como marcas de tiempo o ID de transacción. Si quieres obtener más información sobre los atributos que se usan en la publicación de mensajes, consulta Usa atributos para publicar un mensaje.

El servicio Pub/Sub agrega los siguientes campos al mensaje:

  • Un ID de mensaje único para el tema
  • Una marca de tiempo del momento en que el servicio de Pub/Sub recibe el mensaje

Por ejemplo, este es un formato de mensaje en JSON:

{
  "data": "This is the core message content.",
  "attributes": {
    "category": "notification",
    "user_id": "12345",
    "priority": "medium"
  },
    "orderingKey": "12345"
}

¿Qué sigue?