Per ricevere i messaggi pubblicati in un argomento, devi creare una sottoscrizione all'argomento. per ogni argomento. Solo i messaggi pubblicati nell'argomento dopo la creazione della sottoscrizione disponibili per i client sottoscrittori. Il client sottoscrittore riceve ed elabora i messaggi pubblicati nell'argomento. Un argomento può avere più sottoscrizioni, ma una determinata sottoscrizione appartiene a un singolo argomento.
La funzionalità di conservazione degli argomenti consente a una sottoscrizione associata a un argomento di eseguire la ricerca nel tempo e ripetere i messaggi pubblicati in precedenza. Scopri di più sulla funzionalità nell'argomento Riproduzione ed eliminazione dei messaggi.
Flusso di lavoro dell'abbonamento
Dopo che un messaggio viene inviato a un sottoscrittore, il sottoscrittore deve confermare la per creare un nuovo messaggio email.
Se un messaggio viene inviato per la consegna e un sottoscrittore deve ancora confermarlo, il messaggio è considerato in sospeso.
Pub/Sub tenta ripetutamente di consegnare qualsiasi messaggio che non è stato ancora confermato. Tuttavia, Pub/Sub cerca di non consegnare un messaggio in sospeso a nessun altro sottoscrittore della stessa sottoscrizione.
L'abbonato ha a disposizione un periodo di tempo limitato e configurabile, noto come
ackDeadline
, per confermare il messaggio in sospeso. Dopo la scadenza vengono superati, il messaggio non è più considerato in sospeso e Pub/Sub tenta di recapitare il messaggio.
Tipi di abbonamenti
Quando crei una sottoscrizione, devi specificare il tipo di consegna del messaggio. Pub/Sub offre i seguenti tipi di sottoscrizioni:
Le sottoscrizioni pull utilizzano un client sottoscrittore per richiedere messaggi da il server Pub/Sub.
Le sottoscrizioni push utilizzano il server Pub/Sub per avviare di recapitare i messaggi all'applicazione del sottoscrittore.
Esporta iscrizioni ti consente di esportare i messaggi direttamente in una risorsa Google Cloud. Questi abbonamenti includono:
Le iscrizioni BigQuery esportano i dati in una tabella BigQuery.
Gli abbonamenti a Cloud Storage esportano i dati in un nel bucket Cloud Storage.
Per scegliere l'abbonamento corretto per le esigenze della tua attività, consulta Scegliere un tipo di abbonamento. Puoi aggiornare tipo di consegna dei messaggi per una sottoscrizione in qualsiasi momento dopo la sua creazione.
Proprietà sottoscrizioni predefinite
Per impostazione predefinita, Pub/Sub offre la consegna "at-least-once" senza che ordina garanzie per tutti i tipi di abbonamenti. In alternativa, se i messaggi hanno la stessa chiave di ordinamento e si trovano nella stessa regione, puoi attivare l'ordinamento dei messaggi. Dopo aver impostato la proprietà di ordinamento dei messaggi, il servizio Pub/Sub recapita i messaggi con la stessa chiave di ordinamento e nell'ordine in cui il servizio Pub/Sub riceve i messaggi.
Pub/Sub supporta anche la consegna exactly-once.
In generale, Pub/Sub recapita ogni messaggio una volta e nell'ordine in cui è stato pubblicato. Tuttavia, a volte i messaggi possono essere recapitati al di fuori ordine o più di una volta. Pub/Sub potrebbe riconsegnare un messaggio anche dopo che una richiesta di conferma del messaggio è stata restituita correttamente. Questo la ripubblicazione può essere causata da problemi quali riavvii lato server o lato client che le applicazioni presentino problemi di prestazioni. Pertanto, anche se raramente, qualsiasi messaggio può essere recapitato di nuovo in qualsiasi momento.
Per poter usufruire della consegna "più di una volta", l'abbonato deve: idempotente durante l'elaborazione dei messaggi.
Scadenza dell'abbonamento
Per impostazione predefinita, gli abbonamenti scadono dopo 31 giorni di inattività o se non sono stati apportati aggiornamenti all'abbonamento. Esempi di attività degli iscritti che includono connessioni aperte, pull attivi o push riusciti. Se Pub/Sub rileva attività degli abbonati o un aggiornamento delle proprietà dell'abbonamento, il timer di eliminazione dell'abbonamento si riavvia. Utilizzo norme relative alla scadenza dell'abbonamento, puoi configurare la durata dell'inattività o rendere permanente la sottoscrizione indipendentemente dall'attività. Puoi anche eliminare un abbonamento manualmente.
Sebbene tu possa creare un nuovo abbonamento con lo stesso nome di uno eliminato, il nuovo abbonamento non ha alcuna relazione con quello precedente. Anche se i file eliminati contenente molti messaggi non confermati, viene creata una nuova sottoscrizione lo stesso nome non avrà un backlog (nessun messaggio in attesa di consegna) data e ora di creazione.
Passaggi successivi
Scegli il tipo di abbonamento corretto per le tue esigenze aziendali.
Comprendi il flusso di lavoro per ogni tipo di abbonamento:
Scopri di più sulle diverse proprietà dell'abbonamento.