Abotyp auswählen

In diesem Dokument erfahren Sie, wie Sie das für Ihre Geschäftsanforderungen geeignete Pub/Sub-Abo 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 Features
Anwendungsfall Pull-Abo
  • Große Menge an 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 Cloudfunktionen.
  • Umgebungen, in denen keine Google Cloud-Abhängigkeiten (z. B. Anmeldedaten und die Clientbibliothek) eingerichtet werden können.
Abo exportieren
  • Große Nachrichtenmenge, die auf mehrere Millionen Nachrichten pro Sekunde skaliert werden kann.
  • Nachrichten werden direkt und ohne weitere Verarbeitung an eine Google Cloud-Ressource gesendet.
Endpunkte Pull-Abo

Jedes Gerät im Internet, das autorisierte Anmeldedaten hat, kann die Pub/Sub API aufrufen.

Push-Abo
  • Ein HTTPS-Server mit nicht selbst signiertem Zertifikat, der im öffentlichen Web zugänglich ist.
  • Der empfangende Endpunkt kann vom Pub/Sub-Abo entkoppelt sein, sodass Nachrichten von 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 Pull-Aufrufe an dasselbe „freigegebene“ Abo senden.
  • Jeder Abonnent erhält einen Teil der Nachrichten.
Push-Abo

Push-Endpunkte können Load-Balancer sein.

Abo exportieren

Der Pub/Sub-Dienst verteilt die Last automatisch.

Konfiguration Pull-Abo

Keine Konfiguration notwendig.

Push-Abo
  • Für App Engine-Anwendungen, die sich im selben Projekt wie der Abonnent befinden, ist keine Konfiguration erforderlich.
  • Eine Überprüfung von Push-Endpunkten ist in der Google Cloud Console nicht erforderlich.
  • Endpunkte müssen über DNS-Namen erreichbar sein und es müssen SSL-Zertifikate installiert sein.
Abo exportieren
  • Für das BigQuery-Abo müssen ein BigQuery-Dataset und eine Tabelle vorhanden sein, die mit den entsprechenden Berechtigungen konfiguriert sind.
  • 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 die Übermittlungsrate. Der Abonnent kann die Bestätigungsfrist dynamisch ändern, sodass die Nachrichtenverarbeitung beliebig lang sein kann.

Push-Abo

Der Pub/Sub-Server implementiert automatisch die Ablaufsteuerung. Der Nachrichtenfluss muss nicht clientseitig verarbeitet werden. Sie können jedoch angeben, dass der Client die aktuelle Nachrichtenlast nicht verarbeiten kann, indem Sie einen HTTP-Fehler zurückgeben.

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

Durch die Batch-Bereitstellung, Bestätigungen und einen massiv parallelen Verbrauch wird ein hoher Durchsatz bei geringer CPU und Bandbreite erzielt. Kann ineffizient sein, wenn aggressives Polling verwendet wird, um die Nachrichtenzustellungszeit zu minimieren.

Push-Abo

Stellt eine Nachricht pro Anfrage zu und begrenzt die maximale Anzahl der ausstehenden Nachrichten.

Abo exportieren

Die Skalierbarkeit wird dynamisch von Pub/Sub-Servern gesteuert.

Wann ist ein Exportabo zu verwenden?

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 Aufwand für das Ausführen eines Dataflow-Jobs ist nicht erforderlich, wenn Nachrichten vor dem Speichern keine zusätzliche Verarbeitung erfordern.

Exportabos bieten 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.

  • Geringe Kosten. Reduziert die zusätzlichen Kosten und die Latenz ähnlicher Pub/Sub-Pipelines, die Dataflow-Jobs enthalten. Diese Kostenoptimierung ist für Messaging-Systeme nützlich, die vor dem Speichern keine zusätzliche Verarbeitung erfordern.

  • Minimales Monitoring: Exportabos sind Teil des mehrmandantenfähigen Pub/Sub-Dienstes und erfordern keine separaten Monitoringjobs.

  • Flexibilität: Ein BigQuery-Abo kann das Schema des Themas verwenden, an das es angehängt ist. Dieses ist in der einfachen Dataflow-Vorlage nicht verfügbar, um von Pub/Sub in BigQuery zu schreiben. Ähnlich bietet ein Cloud Storage-Abo konfigurierbare Optionen für die Datei-Batcherstellung, basierend auf der Dateigröße und der verstrichenen Zeit, die sich in der einfachen Dataflow-Vorlage nicht für das Schreiben von Pub/Sub in Cloud Storage konfigurieren lassen.

Eine Dataflow-Pipeline wird jedoch weiterhin für Pub/Sub-Systeme empfohlen, bei denen eine Datentransformation erforderlich ist, bevor die Daten in einer Google Cloud-Ressource wie einer BigQuery-Tabelle oder einem Cloud Storage-Bucket gespeichert werden.

Informationen zum Streamen von Daten aus Pub/Sub zu BigQuery mit Transformation mithilfe von Dataflow finden Sie unter Von Pub/Sub zu BigQuery streamen.

Informationen zum Streamen von Daten aus Pub/Sub nach Cloud Storage mit Transformation mithilfe von Dataflow finden Sie unter Nachrichten aus Pub/Sub mit Dataflow streamen.

Nächste Schritte

Informationen zum Workflow für jeden Abotyp: