Se utilizzi Pub/Sub per pubblicare messaggi di importo elevato di dati, puoi utilizzare gRPC per comprimere i dati per risparmiare sui costi di networking prima che il client publisher invii il modulo richiesta. La compressione Pub/Sub per gRPC utilizza l'algoritmo Gzip.
Questo documento fornisce informazioni sulla compressione dei messaggi pubblicati in un argomento.
Informazioni sulla compressione dei messaggi
Il rapporto di compressione per l'utilizzo della funzione di compressione gRPC lato client è diversa diversi clienti publisher e in base ai seguenti fattori:
Quantità di dati. Il rapporto di compressione migliora quando le dimensioni del payload aumentano da poche centinaia di byte a molti kilobyte di dati. Le impostazioni del batch di una richiesta di pubblicazione determinano la quantità di dati inclusa in ogni richiesta di pubblicazione. Per ottenere i risultati migliori, ti consigliamo di attivare le impostazioni batch in combinazione con la compressione gRPC.
Tipo di dati. I dati di testo come JSON o XML sono più comprimibili rispetto a dati binari come le immagini.
Se il client publisher è su Google Cloud, puoi utilizzare la metrica Byte inviati (instance/network/sent_bytes_count
) per misurare il throughput di pubblicazione in byte. Se il cliente editore si trova in un'applicazione diversa, devi utilizzare gli strumenti specifici del cliente per eseguire la misurazione.
L'esempio di codice in questa sezione mostra uno snippet di codice della libreria client Java di esempio che include anche la compressione gRPC.
Prima di iniziare
Prima di configurare il flusso di lavoro di pubblicazione, assicurati di aver completato le seguenti attività:
- Scopri di più sugli argomenti e sul flusso di lavoro di pubblicazione.
- Crea un argomento.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per comprimere i messaggi,
chiedi all'amministratore di concederti
Ruolo IAM Pub/Sub Publisher (roles/pubsub.publisher
) per il tuo argomento.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Per creare o aggiornare argomenti e iscrizioni, sono necessarie autorizzazioni aggiuntive.
Comprimire un messaggio
C++
Prima di provare questo esempio, segui le istruzioni per la configurazione di C++ in Guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C++.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java in Guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java Pub/Sub.
Passaggi successivi
Per scoprire come configurare le opzioni di pubblicazione avanzate, consulta quanto segue: