In diesem Dokument erfahren Sie mehr über die Verwendung der Parallelitätssteuerung bei Nachrichten, die für ein Thema veröffentlicht werden.
Mit der Parallelitätssteuerung können Sie die Standardanzahl der Hintergrund-I/O-Threads überschreiben, die von der Clientbibliothek zum Veröffentlichen von Nachrichten verwendet werden. So können die Publisher-Clients Nachrichten parallel senden.
Die Parallelitätssteuerung ist eine Funktion der Pub/Sub-Clientbibliothek. Sie können auch Ihre eigene Parallelitätssteuerung implementieren, wenn Sie eine Low-Level-Bibliothek verwenden.
Die Unterstützung für die Parallelitätssteuerung hängt von der Programmiersprache der Clientbibliothek ab. Bei Sprachimplementierungen, die parallele Threads wie C++, Go und Java unterstützen, legen die Clientbibliotheken die Anzahl der Threads jeweils anhand ihrer Standardeinstellung fest.
Auf dieser Seite wird das Konzept der Parallelitätssteuerung erläutert und beschrieben, wie du die Funktion für deine Publisher-Kunden einrichtest. Informationen zum Konfigurieren Ihrer Abonnentenclients für die Gleichzeitigkeitssteuerung finden Sie unter Mehr Nachrichten mit Gleichzeitigkeitssteuerung verarbeiten.
Hinweise
Bevor du den Veröffentlichungsworkflow konfigurierst, musst du die folgenden Aufgaben erledigt haben:
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Pub/Sub-Publisher (roles/pubsub.publisher
) für das Thema zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Veröffentlichen von Nachrichten in einem Thema 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.
Konfigurationen für die Parallelitätssteuerung
Die Standardwerte für die Variablen zur Parallelitätssteuerung und die Namen der Variablen können sich je nach Clientbibliothek unterscheiden. In der Java-Clientbibliothek sind das beispielsweise die Methoden setExecutorProvider()
und setChannelProvider()
. Weitere Informationen finden Sie in der API-Referenzdokumentation.
Mit setExecutorProvider() können Sie den Executor-Anbieter anpassen, der für die Verarbeitung von Veröffentlichungsantworten verwendet wird. Du kannst beispielsweise den Executor-Anbieter in einen ändern, der einen einzelnen, freigegebenen Executor mit einer begrenzten Anzahl von Threads für mehrere Publisher-Clients zurückgibt. Mit dieser Konfiguration lässt sich die Anzahl der erstellten Threads begrenzen.
Mit setChannelProvider() können Sie den Channelanbieter anpassen, der zum Öffnen von Verbindungen zu Pub/Sub verwendet wird. Normalerweise konfigurieren Sie diesen Wert nur, wenn Sie denselben Channel für mehrere Publisher-Clients verwenden möchten. Wenn ein Kanal für zu viele Kunden wiederverwendet wird, kann das zu
GOAWAY
- oderENHANCE_YOUR_CALM
-Fehlern führen. Wenn Sie diese Fehler in den Logs Ihrer Anwendung oder in Cloud Logs sehen, erstellen Sie weitere Kanäle.
Codebeispiele für die Parallelitätssteuerung
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.
Go
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Go in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Go 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.
Ruby
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Ruby in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Ruby API.
Nächste Schritte
Informationen zum Einschränken der Standorte, an denen Pub/Sub Nachrichtendaten speichert, finden Sie unter Pub/Sub-Ressourcenstandorte beschränken.
Weitere Informationen zum Empfangen von Nachrichten finden Sie unter Abotyp auswählen.