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
|
Push-Abo
|
|
Abo exportieren
|
|
Endpunkte |
Pull-Abo
Jedes Gerät im Internet, das autorisierte Anmeldedaten hat, kann die Pub/Sub API aufrufen. |
Push-Abo
|
|
Abo exportieren
|
|
Load-Balancing |
Pull-Abo
|
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
|
|
Abo exportieren
|
|
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: