Scegli un tipo di sottoscrizione

Questo documento ti aiuta a scegliere il tipo appropriato di Pub/Sub un abbonamento più 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 Abbonamento pull
  • Grande volume di messaggi (GB al secondo).
  • L'efficienza e la velocità effettiva dell'elaborazione dei messaggi sono fondamentali.
  • Ambienti in cui non è possibile configurare un endpoint HTTPS pubblico con un certificato SSL non autofirmato.
Abbonamento push
  • Più argomenti che devono essere elaborati dallo stesso webhook.
  • Abbonati alle funzioni App Engine Standard e Cloud Run.
  • Ambienti in cui non è possibile configurare le dipendenze di Google Cloud (ad esempio le credenziali e la libreria client).
Esporta abbonamento
  • Un volume elevato di messaggi che può essere scalato fino a diversi milioni di messaggi al secondo.
  • I messaggi vengono inviati direttamente a una risorsa Google Cloud senza alcuna elaborazione aggiuntiva.
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 sul web pubblico.
  • L'endpoint di ricezione potrebbe essere disaccoppiato dalla sottoscrizione Pub/Sub, in modo che i messaggi di più sottoscrizioni vengano 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 Cloud Storage 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 nella console Google Cloud.
  • Gli endpoint devono essere raggiungibili utilizzando i nomi DNS e avere i 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.

Abbonamento push

Il server Pub/Sub implementa automaticamente il flusso controllo. Non è necessario gestire il flusso di messaggi lato client. Tuttavia, è possibile indicare che il client non è in grado di gestire il carico di messaggi corrente passando 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à in uscita Sottoscrizione pull

Consente di ottenere una velocità effettiva elevata a una bassa larghezza di banda e CPU grazie al caricamento collettivo, ai riconoscimenti e al consumo in parallelo massivo. Può essere inefficiente se si utilizza un polling aggressivo minimizzare i tempi di consegna dei messaggi.

Abbonamento push

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

Esportare l'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. Il sovraccarico dell'esecuzione di un job Dataflow non è necessario quando i messaggi non richiedono un'elaborazione aggiuntiva prima di essere archiviati.

Gli abbonamenti per l'esportazione offrono i seguenti vantaggi:

  • Deployment semplice. Puoi configurare una sottoscrizione di esportazione tramite un singolo flusso di lavoro nella console, in Google Cloud CLI, nella libreria client o nell'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 lo schema dell'argomento a cui è collegata, che non è disponibile con il modello Dataflow di base per la scrittura da Pub/Sub a BigQuery. Analogamente, un abbonamento a Cloud Storage offre opzioni di raggruppamento dei file configurabili in base alle dimensioni del file e al tempo trascorso, che non sono configurabili nel modello di Dataflow di base per la scrittura da Pub/Sub a Cloud Storage.

Tuttavia, una pipeline Dataflow consigliata per i sistemi Pub/Sub in cui alcuni dati è necessaria una trasformazione prima che i dati vengano archiviati risorsa Google Cloud come una tabella BigQuery nel bucket Cloud Storage.

Per scoprire come trasmettere i dati da Pub/Sub a BigQuery con trasformazione utilizzando Dataflow, consulta Trasmettere flussi da Pub/Sub a BigQuery.

Per scoprire come trasmettere in streaming i dati da Pub/Sub a Cloud Storage con trasformazione utilizzando Dataflow, consulta Trasmetti flussi di messaggi da Pub/Sub utilizzando Dataflow.

Passaggi successivi

Scopri il flusso di lavoro per ogni tipo di abbonamento: