Abotyp auswählen

In diesem Dokument erfahren Sie, wie Sie den richtigen Pub/Sub-Abo-Typ für Ihre geschäftlichen Anforderungen auswählen.

Pub/Sub bietet die folgenden Arten von Abos:

  • Bei Pull-Abos wird ein Abonnentenclient verwendet, um Nachrichten vom Pub/Sub-Server anzufordern.

  • Bei Push-Abos werden Anfragen an Ihre Abonnentenanwendung vom Pub/Sub-Server initiiert, um Nachrichten zu senden.

  • Beim Export von Abos werden Ihre Nachrichten direkt in eine Google Cloud-Ressource exportiert. Diese Abos umfassen Folgendes:

    • Mit BigQuery-Abos werden Daten in eine BigQuery-Tabelle exportiert.

    • Mit Bigtable-Abos (Vorschau) werden Daten in eine Bigtable-Tabelle exportiert.

    • Bei Cloud Storage-Abos werden Daten in einen Cloud Storage-Bucket exportiert.

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 es nicht möglich ist, einen öffentlichen HTTPS-Endpunkt mit einem nicht selbst signierten SSL-Zertifikat einzurichten.
Push-Abo
  • Mehrere Themen, die vom selben Webhook verarbeitet werden müssen.
  • Abonnenten der App Engine-Standardumgebung oder Cloud Run Functions.
  • Umgebungen, in denen keine Google Cloud-Abhängigkeiten wie Anmeldedaten und die Clientbibliothek eingerichtet werden können.
Abo exportieren
  • Hohe Anzahl von Nachrichten, die auf mehrere Millionen Nachrichten pro Sekunde skaliert werden können.
  • Nachrichten direkt an eine Google Cloud Ressource senden, ohne dass eine zusätzliche Verarbeitung erforderlich ist.
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 vom Pub/Sub-Abo getrennt werden, damit Nachrichten aus mehreren Abos an einen einzigen Endpunkt gesendet werden können.

Abo exportieren Das Abo schreibt in eine Google Cloud -Ressource, z. B. eine BigQuery-Tabelle oder einen Cloud Storage-Bucket.
Load Balancing Pull-Abo Mehrere Abonnenten können Abrufe bei dem gleichen Abonnenten durchführen. Jeder Abonnent erhält einen bestimmten 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 von Push-Endpunkten ist in der Google Cloud -Konsole nicht erforderlich.
  • Endpunkte müssen über DNS-Namen erreichbar sein und für sie müssen SSL-Zertifikate installiert sein.
Abo exportieren Die Google Cloud Ressource, in die das Abo exportiert wird, muss vorhanden und mit den entsprechenden Berechtigungen konfiguriert sein.
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. Clients müssen den Nachrichtenfluss nicht verarbeiten. Es ist jedoch möglich, anzugeben, dass der Client die aktuelle Nachrichtenlast nicht bewältigen kann, indem man einen HTTP-Fehler zurückgibt.
Abo exportieren Pub/Sub implementiert automatisch eine Ablaufsteuerung, um das Schreiben von Nachrichten in die Zielressource Google Cloudzu optimieren.
Effizienz und Durchsatz Pull-Abo Erzielt hohen Durchsatz mit geringer CPU-Leistung und Bandbreite durch Unterstützung von Stapelzustellung, -Bestätigungen und Massenparallelverarbeitung. Ist möglicherweise ineffizient, wenn versucht wird, durch häufigen Abruf die Nachrichtenzustellungszeit zu minimieren.
Push-Abo Stellt eine Nachricht pro Anfrage zu und begrenzt die Höchstzahl der ausstehenden Nachrichten.
Abo exportieren Pub/Sub sorgt dynamisch für Skalierbarkeit.

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 Aufwand für die Ausführung eines Dataflow-Jobs ist nicht erforderlich, wenn Nachrichten vor dem Speichern nicht zusätzlich verarbeitet werden müssen.

Der Export von Abos 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.

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

  • Minimales Monitoring: Exportabos sind Teil des Pub/Sub-Multitenant-Dienstes und erfordern keine separaten Monitoring-Jobs.

  • Flexibilität: Exportabos bieten Funktionen, die in den von Google bereitgestellten Dataflow-Vorlagen nicht verfügbar sind. Beispiel:

    • Ein BigQuery-Abo kann das Schema des Themas verwenden, an das es angehängt ist.

    • Ein Speicherplatzabo bietet konfigurierbare Optionen für die Batchverarbeitung von Dateien basierend auf Dateigröße und verstrichener Zeit.

    • Ein Bigtable-Abo (Vorschau) bietet eine integrierte Option zum Schreiben von Nachrichtenmetadaten in eine dedizierte Spaltenfamilie.

Wenn Ihre Anwendung jedoch Datentransformationen ausführen muss, die nicht mit Single Message Transforms (SMTs) implementiert werden können, bevor die Nachrichten in ein Ziel geschrieben werden, empfehlen wir die Verwendung einer Dataflow-Pipeline.

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 in Cloud Storage mit Transformation mithilfe von Dataflow finden Sie unter Nachrichten mit Dataflow aus Pub/Sub streamen.

Nächste Schritte

Hier finden Sie Informationen zum Workflow für die einzelnen Abotypen: