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 |
|
| 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. 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: