Wenn Sie mit Pub/Sub Nachrichten veröffentlichen, die eine große Datenmenge umfassen , können Sie Ihre Daten mit gRPC komprimieren, um Netzwerkkosten zu sparen , bevor Ihr Publisher-Client die Veröffentlichungsanfrage sendet. Die Pub/Sub-Komprimierung für gRPC verwendet den Gzip-Algorithmus.
In diesem Dokument finden Sie Informationen zum Komprimieren von Nachrichten, die in einem Thema veröffentlicht werden.
Nachrichten komprimieren
Die Komprimierungsrate für die Verwendung der clientseitigen gRPC-Komprimierungsfunktion ist für verschiedene Publisher-Clients unterschiedlich und hängt von den folgenden Faktoren ab:
Datenmenge Die Komprimierungsrate verbessert sich, wenn die Größe der Nutzlast von einigen Hundert Byte auf viele Kilobyte ansteigt. Die Batch-Einstellungen einer Veröffentlichungsanfrage bestimmen die Datenmenge, die in jeder Veröffentlichungsanfrage enthalten ist. Wir empfehlen, die Batch-Einstellungen in Verbindung mit der gRPC-Komprimierung zu aktivieren, um die besten Ergebnisse zu erzielen.
Art der Daten Textbasierte Daten wie JSON oder XML lassen sich besser komprimieren als Binärdaten wie Bilder.
Wenn Ihr Publisher-Client aktiviert ist Cloud de Confiance, können Sie mit
dem Messwert Gesendete Byte (instance/network/sent_bytes_count)
den Veröffentlichungsdurchsatz in Byte messen. Wenn sich Ihr Publisher-Client in einer anderen Anwendung befindet, müssen Sie die clientspezifischen Tools verwenden, um die Messung durchzuführen.
Das Codebeispiel in diesem Abschnitt zeigt ein Beispiel für ein Java-Clientbibliotheks-Code-Snippet, das auch die gRPC-Komprimierung enthält.
Hinweis
Bevor Sie den Veröffentlichungs-Workflow konfigurieren, müssen Sie die folgenden Aufgaben ausgeführt haben:
- Informationen zu Themen und zum Veröffentlichungs-Workflow
- Thema erstellen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Pub/Sub-Publisher (roles/pubsub.publisher) für Ihr Thema zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Komprimieren von Nachrichten benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen 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.
Nachricht 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 Pub/Sub C++ API-Referenzdokumentation.
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 zur Pub/Sub Java API.
Nächste Schritte
Informationen zum Konfigurieren erweiterter Veröffentlichungsoptionen finden Sie unter: