Questo documento ti aiuta a scegliere il tipo appropriato di Pub/Sub un abbonamento più 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 della pubblicazione appropriata. meccanismo di attenzione 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. |
Sottoscrizione push
|
|
Esporta abbonamento
|
|
Bilanciamento del carico |
Sottoscrizione pull
|
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
|
|
Esporta abbonamento
|
|
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: