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 familiarità con i concetti di base di Pub/Sub, come gli argomenti e le sottoscrizioni. Se non hai mai utilizzato Pub/Sub, leggi prima la pagina Che cos'è Pub/Sub.

Pub/Sub e Pub/Sub Lite sono servizi di messaggistica scalabili orizzontalmente e gestiti. Questi servizi sono in grado di gestire volumi elevati e 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 di applicazioni. È ricco di funzionalità e completamente gestito. Pub/Sub Lite è consigliato per applicazioni in cui la velocità effettiva di messaggistica è più stabile, i carichi di lavoro possono trarre vantaggio da un sistema basato su partizioni e i costi sono di fondamentale importanza.

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 scende a fronte di carico di lavoro operativo, disponibilità globale e alcune funzionalità in termini di efficienza in termini di costi. Pub/Sub Lite richiede la prenotazione e la gestione manuale della 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 la stessa disponibilità garantita dagli argomenti Pub/Sub.

Nota le differenze di affidabilità tra i due servizi in termini di replica dei messaggi. Pub/Sub supporta la replica sincrona dei dati e usa tre zone. Gli argomenti Lite a livello di regione replicano i dati in una zona secondaria. Gli argomenti Lite 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:

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

  • Sei disponibile a sostenere costi operativi aggiuntivi in termini di gestione della capacità degli argomenti, puoi lavorare con rischi di disponibilità specifici dei servizi di zona e richiedere costi ridotti? Utilizza argomenti Lite a livello di zona.

  • Hai bisogno di una certa protezione contro errori a livello di zona, di un overhead operativo aggiuntivo in termini di gestione della capacità dell'argomento e di un costo di velocità effettiva per singolo utente 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 pricing.

Tabella di confronto delle funzionalità

Selezione delle Pub/Sub Pub/Sub Lite
Access Transparency No
Capacità Provisioning automatico Esegui il provisioning prima dell'uso
Lingue della libreria 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 dei messaggi No
Replica dei messaggi No
Routing dei messaggi Globale A livello di zona o di regione
Convalida schema dei messaggi No
Multizona in una singola regione No Zona singola o doppia in una regione singola
Consegna ordinata Ordine in base alla chiave Ordinamento per partizione
Monitoraggio della conferma dei messaggi Per messaggio Cursore per partizione
Prezzi Pagamento a consumo Paghi per la capacità di cui esegui il provisioning
Endpoint REST No
Spazio dei nomi 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 a livello di regione replicano i dati in due zone all'interno di una regione. Gli argomenti Pub/Sub Lite di zona archiviano i dati in una singola zona all'interno di una regione. Per ulteriori informazioni sulla replica dei dati 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 abbonamenti 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 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, editori e abbonati devono mantenere la connettività di rete nella stessa regione per le comunicazioni. Gli editori possono pubblicare dati su qualsiasi argomento da qualsiasi luogo, ma questo potrebbe richiedere la connessione a una regione remota, aggiungendo latenza di rete. I sottoscrittori che devono pubblicare dati aggregati in argomenti in località diverse devono connettersi a ogni istanza di servizio locale pertinente per leggere i messaggi.

Spazio dei nomi risorsa

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 all'argomento possono essere archiviati in progetti diversi, per una fatturazione e controllo dell'accesso granulari. Infine, i sottoscrittori ricevono gli stessi dati indipendentemente dall'endpoint di servizio che utilizzano per connettersi a Pub/Sub o dall'endpoint di servizio utilizzato dall'editore dei dati.

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

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

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

Gestione della capacità

Pub/Sub scala automaticamente. Viene automaticamente eseguito il provisioning della capacità di pubblicazione dei messaggi, quindi puoi inviare e ricevere messaggi in qualsiasi momento, fino alle quote configurate per il progetto.

Viene eseguito manualmente il provisioning di Pub/Sub Lite. Devi configurare il numero di partizioni per argomento Lite. Devi anche eseguire il provisioning della capacità di archiviazione e di velocità effettiva. Puoi eseguire il provisioning della capacità di velocità effettiva utilizzando le prenotazioni Lite.

Modalità di invio

Pub/Sub supporta diverse modalità di consegna dei messaggi. Sono inclusi Pull (polling tradizionale), Push (POST HTTPS), StreamingPull (RPC bidirezionale, per la minore latenza e la massima efficienza) e il pull su HTTP REST e gRPC.

Pub/Sub Lite supporta solo la consegna di flussi di messaggi pull gRPC. Per richiedere messaggi, i sottoscrittori stabiliscono connessioni di flussi di dati 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 un singolo abbonamento.

Pub/Sub Lite usa il parallelismo basato sulle partizioni. In questo modo, un client deve elaborare ciascuna partizione di dati in ordine lineare su una singola istanza client. In questo modo il numero massimo di istanze client viene limitato al numero massimo di partizioni.

Pipeline in modalità flusso

Sia Pub/Sub che Pub/Sub Lite sono integrati con Dataflow per l'elaborazione dei 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: