Scegli Pub/Sub o Pub/Sub Lite

Questo documento ha lo scopo di aiutarti a scegliere tra Pub/Sub e Pub/Sub Lite. Questo documento presuppone che tu abbia familiarità con i concetti di base di Pub/Sub, come argomenti e sottoscrizioni. Se non hai mai utilizzato Pub/Sub, leggi Che cos'è Pub/Sub prima.

Pub/Sub e Pub/Sub Lite sono servizi di messaggistica gestiti e scalabili orizzontalmente. Questi servizi possono gestire volumi elevati e supportare requisiti di archiviazione di grandi dimensioni. Pub/Sub è in genere la soluzione predefinita per la maggior parte dei casi d'uso di integrazione e analisi delle applicazioni. È ricco di funzionalità e completamente gestito. Pub/Sub Lite è consigliato per le applicazioni in cui la velocità effettiva di messaggistica è più stabile, i carichi di lavoro possono trarre vantaggio da un sistema basato su partizioni e il costo è una preoccupazione significativa.

Pub/Sub offre una gamma più ampia di funzionalità, parallelismo per messaggio , routing globale e scalabilità automatica della capacità delle risorse. In termini di replica dei messaggi, Pub/Sub garantisce la replica sincrona.

Pub/Sub Lite è una soluzione basata su partizioni che scambia il carico di lavoro operativo, la disponibilità globale e alcune funzionalità per l'efficienza dei costi. Pub/Sub Lite richiede di riservare e gestire manualmente la capacità delle risorse. In Pub/Sub Lite, puoi scegliere argomenti Lite a livello di zona o di regione. Gli argomenti Lite a livello di regione offrono lo stesso SLA di disponibilità degli argomenti Pub/Sub.

Tieni presente le differenze di affidabilità tra i due servizi in termini di replica dei messaggi. Pub/Sub supporta la replica sincrona dei dati e utilizza tre zone. Gli argomenti Lite a livello di regione replicano i dati in una zona secondaria. Gli argomenti Lite a livello di zona replicano i dati in una sola zona.

Elenco di controllo dei requisiti aziendali

Le seguenti domande possono aiutarti a scegliere il servizio di messaggistica Pub/Sub giusto:

  • L'affidabilità, il costo operativo minimo e la facilità di sviluppo sono le tue priorità principali? Utilizza Pub/Sub.

  • Sei disposto a sostenere un overhead operativo aggiuntivo in termini di gestione della capacità dell'argomento, puoi lavorare con i rischi di disponibilità inerenti ai servizi a livello di zona e hai bisogno di un costo contenuto? Utilizza argomenti Lite a livello di zona.

  • Hai bisogno di una protezione contro gli errori a livello di zona, sei disposto a sostenere un overhead operativo aggiuntivo in termini di gestione della capacità dell'argomento e hai bisogno del costo per velocità effettiva più basso? Utilizza argomenti Lite a livello di regione.

Per saperne di più sulle differenze di costo tra Pub/Sub e Pub/Sub Lite, consulta la pagina dei prezzi.

Tabella di confronto delle funzionalità

Funzionalità Pub/Sub Pub/Sub Lite
Access Transparency No
Capacità Provisioning automatico Esegui il provisioning prima dell'utilizzo
Linguaggi delle librerie client Java, Python, Go, Node.js, C++, C#, PHP, Ruby, SAP, ABAP Java, Python, Go
Sottoscrizioni tra progetti No
Chiavi di crittografia gestite dal cliente No
Argomenti messaggi non recapitabili No
Consegna "exactly-once" No
Integrazioni
Filtro messaggi Sì per gli attributi dei messaggi No
Replica dei messaggi No
Routing dei messaggi Globale A livello di zona o di regione
Convalida dello schema dei messaggi No
Più zone in una singola regione No Singola zona o doppia zona in una singola regione
Consegna ordinata Ordinamento per chiave Ordinamento per partizione
Monitoraggio della conferma dei messaggi Per messaggio Cursore per partizione
Prezzi Pagamento a consumo Pagamento per la capacità di cui esegui il provisioning
Endpoint REST No
Spazio dei nomi delle risorse Globale A livello di zona o di regione
Periodo di conservazione Fino a 31 giorni Illimitato
Endpoint di servizio Globali e regionali Regionali
Archiviazione Illimitata Illimitata
Abbonamento

Replica dei dati

Gli argomenti Pub/Sub replicano i dati in tre zone all'interno di una regione. Per ulteriori informazioni sulla replica dei dati di Pub/Sub, consulta Replica dei dati in un argomento.

Gli argomenti Pub/Sub Lite a livello di regione replicano i dati in due zone all'interno di una regione. Gli argomenti Pub/Sub Lite a livello di zona archiviano i dati in una singola zona all'interno di una regione. Per ulteriori informazioni sulla replica dei dati di Pub/Sub Lite, consulta Replica dei dati in un argomento Lite.

Routing dei messaggi

Sia Pub/Sub sia Pub/Sub Lite possono pubblicare e sottoscrivere da tutte le regioni, anche al di fuori di esse Google Cloud.

Pub/Sub instrada i messaggi a livello globale. Le applicazioni ospitate in qualsiasi regione possono pubblicare messaggi in un singolo argomento. I messaggi vengono elaborati nella regione più vicina consentita dai criteri dell'organizzazione e inoltrati ai sottoscrittori indipendentemente dall'origine.

Pub/Sub Lite instrada i messaggi all'interno di una regione o di una zona. I sottoscrittori devono connettersi all'istanza del servizio nella regione in cui si trova l'argomento. Di conseguenza, i publisher e i sottoscrittori devono mantenere la connettività di rete alla stessa regione per comunicare. I publisher possono pubblicare dati in qualsiasi argomento da qualsiasi luogo, ma potrebbe essere necessario connettersi a una regione remota, aggiungendo latenza di rete. I sottoscrittori che hanno bisogno di dati aggregati pubblicati in argomenti in località diverse devono connettersi a ogni istanza del servizio locale pertinente per leggere i messaggi.

Spazio dei nomi delle risorse

Gli argomenti e le sottoscrizioni Pub/Sub sono risorse globali. Il servizio Pub/Sub può archiviare i messaggi in qualsiasi regione consentita da un criterio di archiviazione degli argomenti. Inoltre, un argomento e una sottoscrizione a quell'argomento possono essere archiviati in progetti diversi, consentendo un controllo più preciso della fatturazione e dell'accesso. Infine, i sottoscrittori ricevono gli stessi dati indipendentemente dall'endpoint di servizio utilizzato per connettersi a Pub/Sub o dall'endpoint di servizio utilizzato dal publisher dei dati.

Gli argomenti e le sottoscrizioni Lite a livello di zona sono risorse a livello di zona. Queste risorse devono trovarsi nello stesso progetto cloud e nella stessa zona.

Gli argomenti e le sottoscrizioni Lite a livello di regione sono risorse a livello di regione. Queste risorse devono trovarsi nello stesso progetto cloud e nella stessa regione Cloud.

Per un elenco delle regioni e delle zone supportate da Pub/Sub Lite, consulta Località di Pub/Sub Lite.

Gestione della capacità

Pub/Sub scala automaticamente. La capacità per la pubblicazione dei messaggi viene sottoposta a provisioning automatico, quindi puoi inviare e ricevere messaggi a qualsiasi velocità, fino alle quote configurate per il tuo progetto.

Il provisioning di Pub/Sub Lite viene eseguito manualmente. Devi configurare il numero di partizioni per argomento Lite. Devi anche eseguire il provisioning della capacità di archiviazione e velocità effettiva. La capacità di velocità effettiva può essere sottoposta a provisioning utilizzando le prenotazioni Lite.

Modalità di invio

Pub/Sub supporta più modalità di invio dei messaggi. Questi includono Pull (polling tradizionale), Push (HTTPS POST), StreamingPull (RPC bidirezionale, per latenza minima ed efficienza massima), e pull su HTTP REST e gRPC.

Pub/Sub Lite supporta solo l'invio di messaggi pull gRPC in streaming. Per richiedere i messaggi, i sottoscrittori stabiliscono connessioni di streaming bidirezionali con ogni partizione.

Parallelismo

Pub/Sub utilizza il parallelismo per messaggio. Ciò consente l'elaborazione simultanea di un numero qualsiasi di messaggi, da uno o migliaia di client per una singola sottoscrizione.

Pub/Sub Lite utilizza il parallelismo basato su partizioni. Ciò impone a un client di elaborare ogni partizione di dati in ordine lineare su una singola istanza client. Ciò limita il numero massimo di istanze client al numero di partizioni.

Pipeline in modalità flusso

Sia Pub/Sub sia Pub/Sub Lite sono integrati con Dataflow per l'elaborazione di flussi serverless e l'integrazione dei dati. Pub/Sub consente a Dataflow di scalare in modo più flessibile e supporta Dataflow SQL.

Per iniziare a utilizzare Dataflow e Pub/Sub o Pub/Sub Lite, prova questi tutorial: