Questo documento ti aiuta a scegliere il tipo di abbonamento Pub/Sub adatto alle tue esigenze aziendali.
Prima di iniziare
- Scopri di più sugli abbonamenti.
Tabella di confronto delle sottoscrizioni Pub/Sub
La tabella seguente offre alcune indicazioni per la scelta del meccanismo di distribuzione appropriato per la tua applicazione:
Funzionalità supportate dalle sottoscrizioni Pub/Sub | |
---|---|
Caso d'uso |
Sottoscrizione pull
|
Push della sottoscrizione
|
|
Esporta sottoscrizione
|
|
Endpoint |
Abbonamento pull
Qualsiasi dispositivo su internet con credenziali autorizzate è in grado di chiamare l'API Pub/Sub. |
Push della sottoscrizione
|
|
Esporta sottoscrizione
|
|
Bilanciamento del carico |
Sottoscrizione pull
|
Push dell'abbonamento
Gli endpoint push possono essere bilanciatori del carico. |
|
Esporta iscrizione
Il servizio Pub/Sub bilancia automaticamente il carico. |
|
Configurazione |
Abbonamento pull
Non è necessaria alcuna configurazione. |
Push della sottoscrizione
|
|
Esporta sottoscrizione
|
|
Controllo del flusso |
Abbonamento pull
Il client abbonato controlla la frequenza di consegna. Il sottoscrittore può modificare in modo dinamico la scadenza di conferma, consentendo all'elaborazione del messaggio di essere arbitrariamente lunga. |
Push dell'abbonamento
Il server Pub/Sub implementa automaticamente il controllo del flusso. Non è necessario gestire il flusso dei messaggi sul lato client. Tuttavia, è possibile indicare che il client non è in grado di gestire il caricamento attuale del messaggio restituendo un errore HTTP. |
|
Esporta iscrizione
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 |
Abbonamento pull
Raggiungi un'elevata velocità effettiva con CPU e larghezza di banda ridotte, consentendo la distribuzione in batch, i riconoscimenti e il consumo in massa massiccia. Potrebbe non essere efficace se si utilizza un polling aggressivo per ridurre al minimo i tempi di consegna dei messaggi. |
Push dell'abbonamento
Invia un messaggio per richiesta e limita il numero massimo di messaggi in sospeso. |
|
Esporta iscrizione
La scalabilità è gestita dinamicamente dai server Pub/Sub. |
Quando utilizzare una sottoscrizione per l'esportazione
Senza una sottoscrizione di esportazione, hai bisogno di una sottoscrizione pull o push e di un sottoscrittore (ad esempio Dataflow) per leggere i messaggi e scriverli in una risorsa Google Cloud. L'overhead associato all'esecuzione di un job Dataflow non è necessario quando i messaggi non richiedono un'ulteriore elaborazione prima di essere archiviati.
Le iscrizioni all'esportazione offrono i seguenti vantaggi:
Implementazione semplice. Puoi configurare una sottoscrizione per l'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 pipeline Pub/Sub simili 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 servizio Pub/Sub multi-tenant e non richiedono l'esecuzione di job di monitoraggio separati.
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 configurabili di raggruppamento dei file in base alle dimensioni del file e al tempo trascorso, che non sono configurabili nel modello Dataflow di base per la scrittura da Pub/Sub a Cloud Storage.
Tuttavia, una pipeline Dataflow è comunque consigliata per i sistemi Pub/Sub in cui è necessaria una trasformazione dei dati prima che i dati vengano archiviati in una risorsa Google Cloud, come una tabella BigQuery o un bucket Cloud Storage.
Per scoprire come trasmettere flussi di dati da Pub/Sub a BigQuery con la trasformazione utilizzando Dataflow, consulta Flusso di dati da Pub/Sub a BigQuery.
Per scoprire come trasmettere flussi di dati da Pub/Sub a Cloud Storage con la trasformazione utilizzando Dataflow, consulta Trasmetti in streaming i messaggi da Pub/Sub utilizzando Dataflow.
Passaggi successivi
Comprendi il flusso di lavoro per ogni tipo di abbonamento: