Descripción general de la publicación de mensajes

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

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 de publicación opcional.
  3. Envía una solicitud al servidor de Pub/Sub para publicar el mensaje a 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 brindar durabilidad y alta disponibilidad.

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

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

Para obtener una descripción general del sistema de 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 orienta a un tema específico. El El servicio de Pub/Sub usa este nombre de tema para enrutar el mensaje a todos suscripciones adjuntas al tema. Si un mismo suscriptor de una de suscripción, solo un suscriptor de la suscripción recibe el mensaje.

Los publicadores no tienen que saber cuántos suscriptores existen. Se enfocan sobre el tema, garantizando la separación de inquietudes entre el envío de mensajes y la recepción de mensajes.

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 las la replicación a una tercera zona adicional. La replicación de Pub/Sub es dentro de una sola región.

Propiedades de un tema

Cuando creas o actualizas un tema, puedes especificar la 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 y se puede cualquier dato de texto o binario. Representa la información real que deseas comunicar entre publicadores y suscriptores. Si utilizas directamente a la API de REST los datos del mensaje deben estar codificados en base64. Consulta el ejemplo de la pestaña REST en la sección Publicar mensajes.

  • Una clave de ordenamiento: Esta es una 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. Una clave de ordenamiento es solo es un requisito si deseas que tus mensajes se entreguen ordenadas. Para obtener más información sobre cómo ordenar las claves, consulta Mensaje de pedido.

  • Atributos: son pares clave-valor opcionales que proporcionan contexto e información sobre el mensaje. Se pueden usar para el enrutamiento, filtrar o enriquecer el contenido del mensaje. Por ejemplo, podrías agregar atributos, como marcas de tiempo o IDs de transacción. Para obtener más información sobre los atributos que se usan en la publicación de mensajes, consulta Cómo usar 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?