Questo documento intende aiutarti a scegliere tra Pub/Sub e Pub/Sub Lite. Questo documento richiede la familiarità con i concetti di base di Pub/Sub, come come argomenti e sottoscrizioni. Se non hai mai utilizzato Pub/Sub, consulta prima la sezione Che cos'è Pub/Sub.
Pub/Sub e Pub/Sub Lite sono scalabili orizzontalmente e i servizi di messaggistica gestiti. Questi servizi possono gestire volumi elevati e supportare requisiti di spazio di archiviazione elevati. Pub/Sub di solito è 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 il throughput della messaggistica è più stabile, i carichi di lavoro possono trarre vantaggio da un sistema basato su partizioni e il costo è un aspetto importante.
Pub/Sub offre una gamma più ampia di funzionalità per messaggio parallelismo, 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 offre un compromesso tra il carico di lavoro operativo, la disponibilità globale e alcune funzionalità per l'efficienza in termini di costi. Pub/Sub Lite richiede la prenotazione e la gestione manuale della risorsa e la capacità di archiviazione. All'interno di Pub/Sub Lite, puoi scegliere un ambiente a livello di regione Lite. Gli argomenti Lite a livello di regione offrono la stessa disponibilità garantita da SLA e gli argomenti Pub/Sub.
Osserva le differenze di affidabilità tra i due servizi in termini di replica dei messaggi. Pub/Sub supporta il traffico sincrono replica 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 corretto:
L'affidabilità, il costo operativo minimo e la facilità di sviluppo sono le tue priorità principali? Utilizzare Pub/Sub.
Sei disposto a sostenere un sovraccarico operativo aggiuntivo in termini di gestione della capacità degli argomenti, puoi gestire i rischi di disponibilità insiti nei servizi zonali e hai bisogno di un costo ridotto? Utilizza gli argomenti Lite a livello di zona.
Hai bisogno di una certa protezione da errori a livello di zona, sono disposti a sostenere un ulteriore overhead operativo in termini di gestione della capacità degli argomenti e richiedono il in termini di velocità effettiva? Utilizza gli 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 | Sì | No |
Capacità | Con provisioning automatico | Esegui il provisioning prima dell'utilizzo |
Lingue della libreria 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 | ||
Filtraggio dei messaggi | Sì per gli attributi dei messaggi | 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 | Zona singola o doppia in una regione singola |
Ordinato con consegna | Ordinamento per 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 | Sì | 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 un in una singola zona all'interno di una regione. Per ulteriori informazioni 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 da tutte le regioni e anche al di fuori di Google Cloud.
Pub/Sub instrada i messaggi a livello globale. Applicazioni ospitate su regione può pubblicare messaggi in un singolo argomento. I messaggi vengono elaborati nella regione più vicina consentita dai criteri della tua organizzazione e inoltrati agli iscritti indipendentemente dalla sorgente.
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 in cui si trova l'argomento. Di conseguenza, per poter comunicare, i publisher e gli abbonati devono mantenere la connettività di rete con la stessa regione. Gli editori possono pubblicare dati su qualsiasi argomento da qualsiasi luogo, ma ciò potrebbe richiedere la connessione a una regione remota, con conseguente aumento della latenza della rete. Sottoscrittori che devono pubblicare dati aggregati negli argomenti in località diverse devono connettersi a ogni istanza di servizio locale 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 un abbonamento a quell'argomento possono essere archiviati in progetti diversi, consentendo la fatturazione e il controllo dell'accesso granulari. Infine, gli abbonati 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 a livello di zona sono risorse di zona. Queste risorse devono trovarsi nella stessa zona e nello stesso progetto Cloud.
Gli argomenti e le sottoscrizioni Lite regionali sono risorse regionali. Queste risorse devono trovarsi nella stessa regione e nello stesso progetto Cloud.
Per un elenco di regioni e zone supportate da Pub/Sub Lite, consulta Località Pub/Sub Lite
Gestione della capacità
Pub/Sub è scalabile automaticamente. La capacità per la pubblicazione dei messaggi viene eseguita automaticamente, quindi puoi inviare e ricevere messaggi a qualsiasi velocità, fino alle quote configurate per il progetto.
Il provisioning di Pub/Sub Lite viene eseguito manualmente. Devi configurare di partizioni per argomento Lite. Devi anche eseguire il provisioning della capacità di archiviazione e del throughput. È possibile eseguire il provisioning della capacità di velocità effettiva Prenotazioni Lite.
Modalità di invio
Pub/Sub supporta diverse modalità di consegna dei messaggi. Questi includono Pull (polling tradizionale), Push (POST HTTPS), StreamingPull (RPC bidirezionale, per la latenza più bassa e l'efficienza più elevata) e pull tramite HTTP REST e gRPC.
Pub/Sub Lite supporta solo l'invio di messaggi pull gRPC in streaming. Per richiedere messaggi, i sottoscrittori stabiliscono flussi di dati bidirezionali e connessioni a 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 deve elaborare ogni partizione di dati in ordine lineare su una singola istanza client. Ciò limita il numero massimo di istanze client al massimo al numero di partizioni.
Pipeline in modalità flusso
Pub/Sub e 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: