Questo documento ti aiuta a scegliere il tipo di abbonamento Pub/Sub appropriato alle esigenze della tua attività.
Prima di iniziare
- Scopri di più sugli abbonamenti.
Tabella di confronto delle sottoscrizioni Pub/Sub
La tabella seguente offre alcune indicazioni per scegliere il meccanismo di caricamento appropriato per la tua applicazione:
Funzionalità supportate dalle sottoscrizioni Pub/Sub | |
---|---|
Caso d'uso |
Abbonamento pull
|
Abbonamento push
|
|
Esporta abbonamento
|
|
Endpoint |
Sottoscrizione pull
Qualsiasi dispositivo su internet con credenziali autorizzate è in grado di chiamare l'API Pub/Sub. |
Abbonamento push
|
|
Esporta abbonamento
|
|
Bilanciamento del carico |
Abbonamento pull
|
Abbonamento push
Gli endpoint push possono essere bilanciatori del carico. |
|
Esportare l'abbonamento
Il servizio Pub/Sub bilancia automaticamente il carico. |
|
Configurazione |
Sottoscrizione pull
Non è necessaria alcuna configurazione. |
Abbonamento push
|
|
Esporta abbonamento
|
|
Controllo del flusso |
Sottoscrizione pull
Il client sottoscrittore controlla la frequenza di invio. 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 controllo del flusso. 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. |
|
Esportare l'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. Potrebbe non essere efficiente se viene utilizzato un polling aggressivo per minimizzare il tempo di recapito dei messaggi. |
Abbonamento push
Invia un messaggio per richiesta e limita il numero massimo di messaggi in sospeso. |
|
Esportare l'abbonamento
La scalabilità viene gestita dinamicamente dai server Pub/Sub. |
Quando utilizzare un abbonamento per l'esportazione
Senza un abbonamento per l'esportazione, devi disporre di un abbonamento pull o push e di un sottoscrittore (ad esempio Dataflow) per 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.
L'esportazione delle iscrizioni presenta 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 il costo e la latenza aggiuntivi di pipeline Pub/Sub simili che includono job Dataflow. Questa ottimizzazione dei costi è utile per i sistemi di messaggistica che non richiedono un'elaborazione aggiuntiva prima dell'archiviazione.
Monitoraggio minimo. Le iscrizioni 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 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 è ancora consigliata per i sistemi Pub/Sub in cui è richiesta una certa trasformazione dei dati prima che vengano archiviati in una risorsa Google Cloud, ad esempio una tabella BigQuery o un bucket Cloud Storage.
Per scoprire come trasmettere i dati da Pub/Sub a BigQuery con trasformazione utilizzando Dataflow, consulta Eseguire lo streaming 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
Comprendi il flusso di lavoro per ogni tipo di abbonamento: