Panoramica della pubblicazione dei messaggi

Per pubblicare un messaggio con Pub/Sub, un'applicazione publisher crea e invia messaggi a un argomento.

Questo documento fornisce una panoramica del flusso di lavoro di pubblicazione, incluse le concetto di argomenti e messaggi.

Informazioni sugli argomenti

Un argomento Pub/Sub è una risorsa denominata che rappresenta un feed di messaggi. Quando un publisher invia un messaggio, ne sceglie come target un argomento specifico. La Il servizio Pub/Sub utilizza questo nome argomento per instradare il messaggio a tutti sottoscrizioni collegate all'argomento. Se sono presenti più abbonati per un abbonamento, solo un abbonato dell'abbonamento riceve il messaggio.

I publisher non devono necessariamente sapere quanti iscritti sono presenti. Si concentrano in merito, assicurando la separazione dei problemi tra l'invio dei messaggi e la ricezione dei messaggi.

Pub/Sub supporta due tipi di argomenti: uno standard e uno di importazione.

Proprietà di un argomento

Quando crei o aggiorni un argomento, puoi specificarne le proprietà.

Per ulteriori informazioni sulle proprietà dell'argomento, consulta la sezione Proprietà di un argomento.

Informazioni sugli argomenti di importazione

Un argomento di importazione consente a Pub/Sub di importare i dati in streaming da un'altra origine e di agire come l'applicazione publisher che invia i dati all'argomento. Puoi abilitare l'importazione su un utilizzando la console, Google Cloud CLI, REST o le librerie client. Nell'ambito della gestione dell'argomento di importazione, Google Cloud fornisce il monitoraggio e il ridimensionamento della pipeline di importazione.

Senza un argomento di importazione, inserimento di flussi di dati in Pub/Sub da richiede un servizio aggiuntivo. Questo servizio aggiuntivo estrae i dati dall'origine originale e li pubblica in Pub/Sub. La un altro servizio può essere un motore per flussi come Apache Spark o personalizzato. Devi anche configurare, eseguire il deployment, eseguire, scalare e monitorare questo servizio.

Di seguito è riportato un elenco di informazioni importanti relative agli argomenti dell'importazione:

  • Come per un argomento standard, puoi comunque pubblicare manualmente in un importa l'argomento.

  • Puoi allegare una sola origine di importazione a un argomento di importazione.

Consigliamo di importare gli argomenti per i dati in streaming. Se stai valutando l'importazione di dati batch in BigQuery anziché l'importazione di dati in streaming, puoi provare BigQuery Data Transfer Service (BQ DTS). Se vuoi importare dati in Cloud Storage, Storage Transfer Service (STS) è una buona opzione.

Pub/Sub supporta le seguenti origini per gli argomenti di importazione: Amazon Kinesis Data Streams

Replica dei dati in un argomento

Un argomento Pub/Sub utilizza tre zone per archiviare i dati. Il servizio supporta la replica sincrona in almeno due zone e la replica con il criterio del massimo impegno in un'ulteriore terza zona. La replica Pub/Sub è all'interno di una sola regione.

Informazioni sui messaggi

Un messaggio Pub/Sub è costituito dai dati che si spostano attraverso il servizio.

Un messaggio è composto da campi che contengono i relativi dati e metadati. In un messaggio deve essere specificato uno dei seguenti elementi.

  • Dati del messaggio: si tratta dei contenuti principali del messaggio e possono essere qualsiasi testo o dati binari. Rappresenta le informazioni effettive che vuoi comunicare tra publisher e sottoscrittori. Se utilizzi direttamente l'API REST, i dati dei messaggi devono essere codificati in base64. Consulta l'esempio nella scheda REST della sezione Pubblicare messaggi.

  • Una chiave di ordinamento: si tratta di un identificativo che rappresenta l'entità per la quale devono essere ordinati i messaggi. I messaggi con la stessa chiave di ordinamento dovrebbero essere recapitati un sottoscrittore nell'ordine in cui sono stati pubblicati. Una chiave di ordinamento è obbligatoria solo se vuoi che i messaggi vengano inviati in ordine. Per saperne di più Consulta la sezione Messaggio ordine per informazioni sull'ordinamento delle chiavi.

  • Attributi: si tratta di coppie chiave-valore facoltative che forniscono il contesto e le informazioni sul messaggio. Possono essere utilizzate per il routing, filtrando o arricchendo i contenuti del messaggio. Ad esempio, puoi aggiungere attributi come timestamp o ID transazione. Per saperne di più sugli attributi utilizzati nella pubblicazione dei messaggi, vedi Utilizza gli attributi per pubblicare un messaggio.

Il servizio Pub/Sub aggiunge i seguenti campi al messaggio:

  • Un ID messaggio univoco per l'argomento
  • Timestamp della ricezione del messaggio da parte del servizio Pub/Sub

Ad esempio, ecco un formato di messaggio in JSON:

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

Flusso di lavoro per la pubblicazione di messaggi

Per pubblicare un messaggio con Pub/Sub, un'applicazione publisher crea e invia messaggi a un argomento.

  1. Crea un messaggio contenente i tuoi dati.
  2. Seleziona eventuali attributi di pubblicazione facoltativi.
  3. Invia una richiesta al server Pub/Sub per pubblicare il messaggio a un argomento specifico.
  4. Il servizio Pub/Sub riceve il messaggio ed esegue l'elaborazione come segue:

    • Il messaggio viene archiviato per la distribuzione.

    • Il messaggio viene replicato in più zone per garantire durabilità e alta disponibilità.

    • Pub/Sub identifica gli abbonati con sottoscrizioni corrispondenti all'argomento del messaggio e consegna una copia del messaggio a ciascuno.

Pub/Sub offre la consegna dei messaggi "at-least-once" e l'ordinazione secondo il criterio del "best effort" abbonati esistenti.

Per una panoramica del sistema Pub/Sub, consulta Panoramica del servizio Pub/Sub.

Per una spiegazione del funzionamento di Pub/Sub, consulta la Panoramica dell'architettura di Pub/Sub.

Passaggi successivi