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 |
|
| Push-Abo |
|
|
| Abo exportieren |
|
|
| 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 |
|
|
| 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: