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 richiede la conoscenza dei concetti di base di Pub/Sub, come argomenti e sottoscrizioni. Se non hai mai utilizzato Pub/Sub, leggi prima Che cos'è Pub/Sub.

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

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 carico di lavoro operativo, disponibilità globale e alcune funzionalità per l'efficienza in termini di costi. Pub/Sub Lite richiede di riservare e gestire manualmente la capacità delle risorse. In Pub/Sub Lite, puoi scegliere argomenti Lite regionali o zonali. Gli argomenti Lite regionali offrono la stessa disponibilità garantita da SLA 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 più adatto:

  • Affidabilità, costi operativi minimi e facilità di sviluppo sono le tue priorità principali? Utilizza Pub/Sub.

  • Sei disposto a sostenere alcuni costi operativi aggiuntivi in termini di gestione della capacità dell'argomento, puoi gestire i rischi di disponibilità inerenti ai servizi di zona e hai bisogno di costi contenuti? Utilizza gli argomenti Lite a livello di zona.

  • Hai bisogno di una protezione contro gli errori a livello di zona, vuoi sostenere un overhead operativo aggiuntivo in termini di gestione della capacità dell'argomento e hai bisogno del costo per throughput 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 Prezzi.

Tabella di confronto delle funzionalità

Funzionalità Pub/Sub Pub/Sub Lite
Access Transparency No
Capacità Provisionato automaticamente Esegui il provisioning prima dell'utilizzo
Lingue delle librerie client Java, Python, Go, Node.js, C++, C#, PHP, Ruby, SAP, ABAP Java, Python, Go
Abbonamenti tra progetti No
Chiavi di crittografia gestite dal cliente No
Argomenti messaggi non recapitabili No
Consegna "exactly-once" No
Integrazioni
Filtro dei messaggi Sì per gli attributi del messaggio No
Replica dei messaggi No
Routing dei messaggi Globale A livello di zona o di regione
Convalida dello schema dei messaggi No
Multizona 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 di lettura dei messaggi Per messaggio Cursore per partizione
Prezzi Pagamento a consumo Paghi la capacità di cui esegui il provisioning
Endpoint REST No
Spazio dei nomi della risorsa Globale A livello di zona o di regione
Periodo di conservazione Fino a 31 giorni Illimitato
Endpoint di servizio Globale e regionale Regionale
Archiviazione Illimitato Illimitato
Abbonamento

Replica dei dati

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

Gli argomenti Pub/Sub Lite regionali 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 saperne di più sulla replica dei dati di Pub/Sub Lite, consulta Replica dei dati in un argomento Lite.

Routing dei messaggi

Sia Pub/Sub che Pub/Sub Lite possono pubblicare e sottoscrivere da tutte le regioni e anche al di fuori di 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 dalle norme della tua organizzazione e inoltrati agli iscritti indipendentemente dalla fonte.

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, gli editori e gli abbonati devono mantenere la connettività di rete alla stessa regione per comunicare. Gli editori possono pubblicare dati in qualsiasi argomento da qualsiasi luogo, ma ciò potrebbe richiedere la connessione a una regione remota, aggiungendo latenza di rete. Gli abbonati 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 della risorsa

Gli argomenti e le sottoscrizioni Pub/Sub sono risorse globali. Il servizio Pub/Sub può archiviare messaggi in qualsiasi regione consentita da un criterio di archiviazione degli argomenti. Inoltre, un argomento e un abbonamento a quell'argomento possono essere archiviati in progetti diversi, consentendo un controllo dell'accesso e della fatturazione granulare. Infine, gli abbonati ricevono gli stessi dati indipendentemente dall'endpoint di servizio utilizzato per connettersi a Pub/Sub o dall'endpoint di servizio utilizzato dall'editore 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 e nella stessa zona Cloud.

Gli argomenti e gli abbonamenti Lite regionali sono risorse regionali. Queste risorse devono trovarsi nello stesso progetto 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 viene scalato automaticamente. La capacità di pubblicazione dei messaggi viene eseguita automaticamente, quindi puoi inviare e ricevere messaggi a qualsiasi velocità, fino alle quote che configuri 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 di velocità effettiva. Il provisioning della capacità di velocità effettiva può essere eseguito utilizzando le prenotazioni Lite.

Modalità di invio

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

Pub/Sub Lite supporta solo la distribuzione di messaggi pull gRPC di streaming. Per richiedere i messaggi, gli abbonati stabiliscono connessioni di streaming bidirezionale con ogni partizione.

Parallelismo

Pub/Sub utilizza il parallelismo per messaggio. In questo modo è possibile elaborare contemporaneamente un numero qualsiasi di messaggi, da uno o migliaia di client per un singolo abbonamento.

Pub/Sub Lite utilizza il parallelismo basato su partizioni. In questo modo, un client è costretto a elaborare ogni partizione di dati in ordine lineare su una singola istanza client. In questo modo, il numero massimo di istanze client è limitato al numero di partizioni.

Pipeline in modalità flusso

Sia Pub/Sub che 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: