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 der Nebenläufigkeitserkennung hängt von der Programmiersprache des Clientbibliothek. Bei Sprachimplementierungen, die parallele Threads unterstützen, wie C++, Go und Java, wählen die Client-Bibliotheken für die Anzahl der Threads.
Diese Auswahl ist für Ihre Anwendung möglicherweise nicht optimal. Beispiel: Ihre Abonnentenanwendung nicht mit der eingehenden Nachricht Schritt hält und nicht CPU-gebunden ist, müssen Sie die Thread-Anzahl erhöhen. Für CPU-intensive Nachrichtenverarbeitungsvorgänge, wodurch die Anzahl der Threads reduziert wird angebracht sein.
Konfigurationen für die Gleichzeitigkeitserkennung
Die Standardwerte für die Variablen zur Nebenläufigkeitserkennung und die Namen der
können sich die Variablen je nach Clientbibliothek unterscheiden. In der Java-Clientbibliothek sind das beispielsweise die Methoden setSystemExecutorProvider()
, setExecutorProvider()
und setParallelPullCount()
.
Mit setParallelPullCount() kannst du festlegen, wie viele Streams geöffnet werden sollen. Sie können Mehr Streams öffnen, wenn dein Abonnentenclient mehr Daten verarbeiten kann mit einem einzelnen Stream mit 10 Mbit/s gesendet.
Mit setExecutorProvider() können Sie den Executor-Anbieter anpassen, der für die Verarbeitung von Nachrichten verwendet wird. Du kannst den Executor-Anbieter beispielsweise in einen ändern, der einen einzelnen, freigegebenen Executor mit einer begrenzten Anzahl von Threads für mehrere Abonnenten-Clients zurückgibt. Mit dieser Konfiguration lässt sich die Anzahl der erstellten Threads begrenzen.
Mit setSystemExecutorProvider() können Sie den Executor-Anbieter anpassen die für die Leasingverwaltung verwendet werden. Normalerweise konfigurieren Sie diesen Wert nur, wenn Sie in
setExecutorProvider
undsetSystemExecutorProvider
denselben Executor-Anbieter verwenden möchten. Sie können beispielsweise denselben Executor wenn Sie eine Reihe von Abos mit niedrigem Durchsatz haben. Wenn Sie denselben Wert verwenden, wird die Anzahl der Threads im Client begrenzt.
Die Gesamtzahl der Threads, die für die Parallelität verwendet werden, hängt vom in der Clientbibliothek übergebenen Executor-Anbieter und der Anzahl der parallelen Pull-Vorgänge ab.
Codebeispiele zur Nebenläufigkeitserkennung
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
Weitere Auslieferungsoptionen, die Sie für ein Abo konfigurieren können:
Vorübergehende Spitzen mithilfe der Ablaufsteuerung bewältigen
Umgang mit Nachrichtenfehlern mit der Abowiederholrichtlinie
Nicht zugestellte Nachrichten an ein Thema für unzustellbare Nachrichten weiterleiten
Zuvor bestätigte Nachrichten noch einmal abspielen oder Nachrichten dauerhaft löschen