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 | Sì | 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 | Sì | No |
| Chiavi di crittografia gestite dal cliente | Sì | No |
| Argomenti messaggi non recapitabili | Sì | No |
| Consegna "exactly-once" | Sì | No |
| Integrazioni | ||
| Filtro dei messaggi | Sì per gli attributi del messaggio | No |
| Replica dei messaggi | Sì | No |
| Routing dei messaggi | Globale | A livello di zona o di regione |
| Convalida dello schema dei messaggi | Sì | 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 | Sì | 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: