In diesem Dokument erfahren Sie, wie Sie den geeigneten Pub/Sub-Abotyp für Ihre Geschäftsanforderungen auswählen.
Hinweise
Vergleichstabelle für Pub/Sub-Abos
Die folgende Tabelle enthält Informationen zur Auswahl des richtigen Zustellungsmechanismus für Ihre Anwendung:
Von Pub/Sub-Abos unterstützte Funktionen | |
---|---|
Anwendungsfall |
Pull-Abo
|
Push-Abo
|
|
Abo exportieren
|
|
Endpunkte |
Pull-Abo
Jedes Gerät im Internet mit autorisierten Anmeldedaten kann die Pub/Sub API aufrufen. |
Push-Abo
|
|
Abo exportieren
|
|
Load Balancing |
Pull-Abo
|
Push-Abo
Push-Endpunkte können Load Balancer sein. |
|
Abo exportieren
Der Pub/Sub-Dienst gleicht die Last automatisch aus. |
|
Konfiguration |
Pull-Abo
Keine Konfiguration notwendig. |
Push-Abo
|
|
Abo exportieren
|
|
Ablaufsteuerung |
Pull-Abo
Der Abonnentenclient steuert das Tempo der Zustellung. Der Abonnent kann das Bestätigungszeitlimit dynamisch ändern und ermöglicht damit beliebig lange Nachrichtenverarbeitung. |
Push-Abo
Der Pub/Sub-Server implementiert automatisch eine Ablaufsteuerung. Es ist nicht erforderlich, den Nachrichtenfluss auf der Clientseite zu verarbeiten. Es ist jedoch möglich, anzugeben, dass der Client die aktuelle Nachrichtenlast nicht bewältigen kann, indem er einen HTTP-Fehler zurückgibt. |
|
Abo exportieren
Der Pub/Sub-Server implementiert automatisch eine Ablaufsteuerung, um das Schreiben von Nachrichten in eine Google Cloud-Ressource zu optimieren. |
|
Effizienz und Durchsatz |
Pull-Abo
Erzielt hohen Durchsatz bei geringer CPU-Leistung und Bandbreite durch Unterstützung von Stapelzustellung, -Bestätigungen und Massenparallelverarbeitung. Ist möglicherweise ineffizient, wenn versucht wird, durch aggressiven Abruf die Nachrichtenzustellungszeit zu minimieren. |
Push-Abo
Stellt eine Nachricht pro Anfrage zu und begrenzt die Höchstzahl der ausstehenden Nachrichten. |
|
Abo exportieren
Die Skalierbarkeit wird dynamisch von Pub/Sub-Servern verwaltet. |
Wann ist ein Exportabo sinnvoll?
Ohne Exportabo benötigen Sie ein Pull- oder Push-Abo und einen Abonnenten (z. B. Dataflow), um Nachrichten zu lesen und in eine Google Cloud-Ressource zu schreiben. Der Overhead beim Ausführen eines Dataflow-Jobs ist nicht erforderlich, wenn Nachrichten vor dem Speichern nicht zusätzlich verarbeitet werden müssen.
Abos können exportiert werden. Das hat folgende Vorteile:
Einfache Bereitstellung. Sie können ein Exportabo über einen einzelnen Workflow in der Console, der Google Cloud CLI, der Clientbibliothek oder der Pub/Sub API einrichten.
Niedrige Kosten. Reduziert die zusätzlichen Kosten und die Latenz ähnlicher Pub/Sub-Pipelines, die Dataflow-Jobs enthalten. Diese Kostenoptimierung eignet sich für Nachrichtensysteme, die vor dem Speichern nicht zusätzlich verarbeitet werden müssen.
Minimales Monitoring Exportabos sind Teil des mehrmandantenfähigen Pub/Sub-Dienstes und erfordern keine separaten Monitoring-Jobs.
Flexibilität: Ein BigQuery-Abo kann das Schema des Themas verwenden, an das es angehängt ist. Das ist mit der grundlegenden Dataflow-Vorlage zum Schreiben von Pub/Sub nach BigQuery nicht möglich. Ebenso bietet ein Cloud Storage-Abo konfigurierbare Optionen für die Dateigruppierung basierend auf der Dateigröße und der verstrichenen Zeit. Diese Optionen sind in der grundlegenden Dataflow-Vorlage für das Schreiben von Pub/Sub nach Cloud Storage nicht konfigurierbar.
Für Pub/Sub-Systeme, bei denen eine gewisse Datentransformation erforderlich ist, bevor die Daten in einer Google Cloud-Ressource wie einer BigQuery-Tabelle oder einem Cloud Storage-Bucket gespeichert werden, wird jedoch weiterhin eine Dataflow-Pipeline empfohlen.
Weitere Informationen zum Streamen von Daten aus Pub/Sub zu BigQuery mit Transformation mit Dataflow finden Sie unter Von Pub/Sub zu BigQuery streamen.
Informationen zum Streamen von Daten mit Dataflow von Pub/Sub nach Cloud Storage und zur Transformation der Daten finden Sie unter Nachrichten mit Dataflow aus Pub/Sub streamen.
Nächste Schritte
So funktioniert der Workflow für die einzelnen Abotypen: