Wenn Sie mit Pub/Sub Nachrichten veröffentlichen, von Daten haben, können Sie diese mit gRPC komprimieren. um Netzwerkkosten zu sparen, bevor Ihr Publisher-Client die Veröffentlichung Die Pub/Sub-Komprimierung für gRPC verwendet die Gzip-Algorithmus.
Dieses Dokument enthält Informationen zum Komprimieren von Nachrichten die zu einem Thema veröffentlicht wurden.
Info zum Komprimieren von Nachrichten
Das Komprimierungsverhältnis für die Verwendung der clientseitigen Komprimierung von gRPC verschiedenen Publisher-Kunden und sind von folgenden Faktoren abhängig:
Menge der Daten: Das Komprimierungsverhältnis verbessert sich, wenn die Größe des von ein paar Hundert Byte auf viele Kilobyte an Daten ansteigt. Der Batch einer Veröffentlichungsanfrage bestimmt die Datenmenge, die in für jede Veröffentlichungsanfrage. Wir empfehlen, die Batch-Einstellungen in Verbindung mit der gRPC-Komprimierung, um optimale Ergebnisse zu erzielen.
Datentyp: Textbasierte Daten wie JSON oder XML lassen sich besser komprimieren im Vergleich zu binären Daten wie Bildern.
Wenn sich Ihr Publisher-Client in Google Cloud befindet, können Sie
Messwert Gesendete Byte (instance/network/sent_bytes_count
)
um den Veröffentlichungsdurchsatz
in Byte zu messen. Wenn Ihr Publisher
Client sich in einer anderen Anwendung befindet, müssen Sie den
kundenspezifische Tools
zur Durchführung der Messung.
Das Codebeispiel in diesem Abschnitt enthält ein Beispiel-Code-Snippet für eine Java-Clientbibliothek. die auch die gRPC-Komprimierung umfasst.
Hinweise
Bevor Sie den Veröffentlichungsworkflow konfigurieren, müssen Sie die folgenden Schritte ausgeführt haben Aufgaben:
Erforderliche Rollen
Um die Berechtigungen zu erhalten, die Sie zum Komprimieren von Nachrichten benötigen,
bitten Sie Ihren Administrator, Ihnen
Die IAM-Rolle Pub/Sub-Publisher (roles/pubsub.publisher
) für Ihr Thema.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Sie benötigen zusätzliche Berechtigungen, um Themen und Abos zu erstellen oder zu aktualisieren.
Nachrichten komprimieren
C++
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C++ in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Pub/Sub C++ API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Java API.
Nächste Schritte
Informationen zum Konfigurieren erweiterter Veröffentlichungsoptionen finden Sie hier: