Scegli un tipo di sottoscrizione

Questo documento ti aiuta a scegliere il tipo appropriato di Pub/Sub un abbonamento adatto alle tue esigenze aziendali.

Prima di iniziare

Tabella di confronto delle sottoscrizioni Pub/Sub

La tabella seguente offre alcune indicazioni per la scelta della pubblicazione appropriata. meccanismo di attenzione per la tua applicazione:

Funzionalità supportate dalle sottoscrizioni Pub/Sub
Caso d'uso Sottoscrizione pull
  • Grande volume di messaggi (GB al secondo).
  • L'efficienza e la velocità effettiva dell'elaborazione dei messaggi sono fondamentali.
  • Ambienti in cui un endpoint HTTPS pubblico non è possibile configurare un certificato SSL non autofirmato.
Sottoscrizione push
  • Più argomenti che devono essere elaborati dallo stesso webhook.
  • Abbonati alle funzioni App Engine Standard e Cloud Run.
  • Ambienti in cui le dipendenze di Google Cloud (come credenziali e la libreria client) non sono configurabili.
Esporta abbonamento
  • Grande volume di messaggi con possibilità di scale up e milioni di messaggi al secondo.
  • I messaggi vengono inviati direttamente a una risorsa Google Cloud senza ulteriori elaborazioni.
Endpoint Sottoscrizione pull

Qualsiasi dispositivo su internet con credenziali autorizzate è in grado di chiamare l'API Pub/Sub.

Sottoscrizione push
  • Un server HTTPS con certificato non autofirmato accessibile su sul web pubblico.
  • L'endpoint ricevente potrebbe essere disaccoppiato sottoscrizione Pub/Sub, in modo che i messaggi provenienti gli abbonamenti vengono inviati a un singolo endpoint.
Esporta abbonamento
  • Un set di dati e una tabella BigQuery per abbonamento a BigQuery.
  • Un bucket Cloud Storage per un ambiente abbonamento.
Bilanciamento del carico Sottoscrizione pull
  • Più sottoscrittori possono effettuare chiamate pull allo stesso "condiviso" abbonamento.
  • Ogni sottoscrittore riceve un sottoinsieme di messaggi.
Sottoscrizione push

Gli endpoint push possono essere bilanciatori del carico.

Esporta abbonamento

Il servizio Pub/Sub bilancia automaticamente il carico.

Configurazione Sottoscrizione pull

Non è necessaria alcuna configurazione.

Sottoscrizione push
  • Non è necessaria alcuna configurazione per le app di App Engine nello stesso progetto del sottoscrittore.
  • La verifica degli endpoint push non è obbligatoria nel nella console Google Cloud.
  • Gli endpoint devono essere raggiungibili tramite nomi DNS e Certificati SSL installati.
Esporta abbonamento
  • Per l'abbonamento BigQuery devono essere presenti un set di dati e una tabella BigQuery configurati con le autorizzazioni appropriate.
  • Deve esistere un bucket Cloud Storage per Abbonamento a Cloud Storage, configurato con le autorizzazioni appropriate.
Controllo del flusso Sottoscrizione pull

Il client del sottoscrittore controlla la frequenza di pubblicazione. L'abbonato può modificare dinamicamente la scadenza per l'acknowledgment, consentendo all'elaborazione dei messaggi di essere arbitrariamente lunga.

Sottoscrizione push

Il server Pub/Sub implementa automaticamente il flusso controllo. Non è necessario gestire il flusso dei messaggi sul lato client. Tuttavia, è possibile indicare che il client non è in grado di gestire il carico attuale del messaggio trasmettendo un errore HTTP.

Esporta abbonamento

Il server Pub/Sub implementa automaticamente il controllo del flusso per ottimizzare la scrittura dei messaggi in una risorsa Google Cloud.

Efficienza e velocità effettiva Sottoscrizione pull

Raggiungi una velocità effettiva elevata con CPU e larghezza di banda ridotte consentendo la distribuzione in batch, i riconoscimenti il consumo eccessivo. Può essere inefficiente se si utilizza un polling aggressivo minimizzare i tempi di consegna dei messaggi.

Sottoscrizione push

Consegna un solo messaggio per richiesta e limita il numero massimo di messaggi in sospeso.

Esporta abbonamento

La scalabilità è gestita dinamicamente da Pub/Sub server web.

Quando utilizzare una sottoscrizione per l'esportazione

Senza una sottoscrizione all'esportazione, è necessario eseguire il pull o il push e un sottoscrittore (come Dataflow) leggere i messaggi e scriverli in una risorsa Google Cloud. L'overhead associato all'esecuzione di un job Dataflow è non è necessaria quando i messaggi richiedono un'ulteriore elaborazione.

Gli abbonamenti per l'esportazione offrono i seguenti vantaggi:

  • Deployment semplice. Puoi configurare un abbonamento per l'esportazione tramite una un unico flusso di lavoro nella console, in Google Cloud CLI, nella libreria client o l'API Pub/Sub.

  • Costi ridotti. Riduce i costi aggiuntivi e la latenza di applicazioni Pipeline Pub/Sub che includono job Dataflow. Questa ottimizzazione dei costi è utile per i sistemi di messaggistica che non richiedono un'ulteriore elaborazione prima dell'archiviazione.

  • Monitoraggio minimo. Le sottoscrizioni di esportazione fanno parte del modello servizio Pub/Sub e non richiedono l'esecuzione separata di monitoraggio dei job.

  • Flessibilità. Una sottoscrizione BigQuery può utilizzare dell'argomento a cui è associato, che non è disponibile con il modello Dataflow di base per scrivere da Pub/Sub a BigQuery. Analogamente, un abbonamento a Cloud Storage offre opzioni configurabili per il batch di file in base alle dimensioni del file e al tempo trascorso, che non sono configurabili modello Dataflow di base per la scrittura da Pub/Sub a Cloud Storage.

Tuttavia, una pipeline Dataflow è ancora consigliata per i sistemi Pub/Sub in cui è richiesta una certa trasformazione dei dati prima che vengano archiviati in una risorsa Google Cloud come una tabella BigQuery o un bucket Cloud Storage.

per scoprire come trasmettere dati in modalità flusso da Pub/Sub BigQuery con la trasformazione tramite Dataflow, consulta Flusso di dati da Pub/Sub a BigQuery.

per scoprire come trasmettere dati in modalità flusso da Pub/Sub Cloud Storage con trasformazione Dataflow, consulta Trasmetti il flusso di messaggi da Pub/Sub utilizzando Dataflow.

Passaggi successivi

Scopri il flusso di lavoro per ogni tipo di abbonamento: