Abotyp auswählen

In diesem Dokument erfahren Sie, wie Sie den richtigen Pub/Sub-Abonnementtyp 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.

    • 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 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 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. Kunden 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 kümmert sich dynamisch um die 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: Ein BigQuery-Abo kann das Schema des Themas verwenden, an das es angehängt ist. Das ist bei der einfachen Dataflow-Vorlage zum Schreiben von Pub/Sub in BigQuery nicht möglich. Ein Cloud Storage-Abo bietet konfigurierbare Optionen für die Batchverarbeitung von Dateien basierend auf Dateigröße und verstrichener Zeit, die in der einfachen Dataflow-Vorlage zum Schreiben von Pub/Sub in Cloud Storage nicht konfiguriert werden können.

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

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: