Abotyp auswählen

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
  • Hohe Anzahl von Nachrichten (GB pro Sekunde).
  • Effizienz und Durchsatz der Nachrichtenverarbeitung sind entscheidend.
  • Umgebungen, in denen ein öffentlicher HTTPS-Endpunkt mit einem nicht selbst signierten SSL-Zertifikat nicht eingerichtet werden kann.
Push-Abo
  • Mehrere Themen, die vom selben Webhook verarbeitet werden müssen.
  • Abonnenten der App Engine-Standardumgebung und Cloud Run-Funktionen.
  • Umgebungen, in denen keine Google Cloud-Abhängigkeiten (z. B. Anmeldedaten und die Clientbibliothek) eingerichtet werden können.
Abo exportieren
  • Hohe Anzahl von Nachrichten, die auf mehrere Millionen pro Sekunde skaliert werden kann.
  • Nachrichten werden ohne zusätzliche Verarbeitung direkt an eine Google Cloud-Ressource gesendet.
Endpunkte Pull-Abo

Jedes Gerät im Internet mit autorisierten Anmeldedaten kann die Pub/Sub API aufrufen.

Push-Abo
  • Ein im Internet verfügbarer HTTPS-Server mit nicht selbst signiertem Zertifikat.
  • Der empfangende Endpunkt kann von dem Pub/Sub-Abo getrennt werden, damit Nachrichten aus mehreren Abos an einen einzigen Endpunkt gesendet werden.
Abo exportieren
  • Ein BigQuery-Dataset und eine BigQuery-Tabelle für ein BigQuery-Abo.
  • Ein Cloud Storage-Bucket für ein Cloud Storage-Abo.
Load Balancing Pull-Abo
  • Mehrere Abonnenten können Abrufe bei dem gleichen „geteilten“ Abo durchführen.
  • Jeder Abonnent erhält einen Teil der Nachrichten.
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
  • Für App Engine-Anwendungen im selben Projekt wie der Abonnent ist keine Konfiguration erforderlich.
  • Die Verifizierung der Push-Endpunkte ist in der Google Cloud Console nicht erforderlich.
  • Endpunkte müssen über DNS-Namen erreichbar sein und für sie müssen SSL-Zertifikate installiert sein.
Abo exportieren
  • Für das BigQuery-Abo müssen ein BigQuery-Dataset und eine BigQuery-Tabelle mit den entsprechenden Berechtigungen vorhanden sein.
  • Für das Cloud Storage-Abo muss ein Cloud Storage-Bucket vorhanden sein, der mit den entsprechenden Berechtigungen konfiguriert ist.
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: