Cloud Tasks oder Pub/Sub auswählen

Sowohl Cloud Tasks als auch Pub/Sub können zur Implementierung von Message Passing und asynchroner Integration verwendet werden. Obwohl die Dienste auf ähnliche Weise funktionieren, weisen sie Unterschiede auf. In diesem Leitfaden erfahren Sie, wie Sie das richtige Produkt für Ihren Anwendungsfall auswählen.

Wichtige Unterschiede

Pub/Sub und Cloud Tasks unterscheiden sich hauptsächlich darin, ob sie implizite oder explizite Aufrufe verwenden.

Pub/Sub entkoppelt Ereignis-Publisher von ihren Abonnenten. Publisher müssen nichts über ihre Abonnenten wissen. Deshalb können sie in Pub/Sub versendete Ereignisdaten nicht steuern; sie wissen lediglich, dass die Daten zugestellt werden. So werden implizite Aufrufe unterstützt: Ein Publisher löst die Ausführung von Abonnenten aus, indem er ein Ereignis veröffentlicht.

In Cloud Tasks werden dagegen explizite Aufrufe unterstützt. Das bedeutet, dass Publisher die volle Kontrolle über versendete Ereignisdaten erhalten und somit auch festlegen, wohin diese versendet werden.

Zusätzlich bietet Cloud Tasks Tools für die Verwaltung von Warteschlangen und Aufgaben, die Publishern in Pub/Sub nicht zur Verfügung stehen. Dazu gehören:

  • Bestimmte Lieferzeiten planen
  • Einstellungen für die Lieferrate
  • Präzise konfigurierbare Wiederholungsversuche
  • Zugriff und Verwaltung einzelner Aufgaben in einer Warteschlange
  • Deduplizierung bei der Aufgabenerstellung

Detaillierter Funktionsvergleich

Funktion Cloud Tasks Pub/Sub
Push über Webhooks Ja Ja
Garantie für mindestens einmalige Zustellung Ja Ja
Konfigurierbare Wiederholungsversuche Ja Ja
Deduplizierung bei der Erstellung von Aufgaben/Nachrichten Ja Nein
Planung von Lieferzeiten Ja Nein
Bestellte Lieferung Nein, die Reihenfolge der in die Warteschlange eingereihten Aufgaben wird bestmöglich beibehalten. Ja, mit Sortierungsschlüsseln
Explizite Kontrolle der Lieferrate Ja Pull-Abonnentenclients können eine Ablaufsteuerung implementieren.
Pull über API Nein Ja
Batch-Insert Ja Ja
Mehrere Handler/Abonnenten pro Nachricht Nein Ja
Aufbewahrung von Aufgaben/Nachrichten 31 Tage Bis zu 31 Tage
Maximale Aufgaben-/Nachrichtengröße 1 MB 10 MB
Maximale Lieferrate 500 QPS/Warteschlange Keine Obergrenze, vorbehaltlich regionaler Durchsatzkontingente
Geografische Verfügbarkeit Regional Global
Maximale Verarbeitungsdauer für Push-Handler/Abonnenten 30 Minuten (HTTP)
10 Minuten (Autoscaling für App Engine-Standardumgebung)
24 Stunden (manuelle oder einfache Skalierung für App Engine-Standardumgebung)
60 Minuten (flexible App Engine-Umgebung)
10 Minuten für Push-Vorgänge
Anzahl der Warteschlangen/Abonnements 1.000 pro Projekt und Region, weitere verfügbar über Kontingentanforderung 10.000 pro Projekt

Konfigurierbare Unterschiede bei Wiederholungsversuchen

Cloud Tasks bietet eine präzise Steuerung von Aufgabenwiederholungen, einschließlich fester Grenzwerte für Versuche und Dauer. Pub/Sub konzentriert sich auf die zuverlässige Zustellung und verwendet exponentiellen Backoff und Warteschlangen für unzustellbare Nachrichten (Dead-Letter Queues, DLQ), um Wiederholungsversuche für nicht bestätigte Nachrichten zu verwalten.

FunktionCloud Tasks Pub/Sub
Fokus des AnwendungsfallsSicherstellen, dass eine bestimmte Aufgabe ausgeführt wird Nachrichtenzustellung an entkoppelte Abonnenten
Primäre SteuerungKonfiguration für Wiederholungsversuche auf Warteschlangen- und Aufgabenebene Wiederholungsrichtlinie und DLQ auf Aboebene
Wiederholungsversuche beendenMaximale Anzahl von Versuchen, maximale Wiederholungsdauer Nachrichtenerkennung, Ablauf von Nachrichten oder DLQ-Übertragung
Maximale Anzahl von VersuchenExplizit konfigurierbar Indirekt über die maximale Anzahl von Zustellversuchen für die DLQ
Backoff-AbstimmungMinimaler/maximaler Backoff, maximale Anzahl Wiederholungen Minimaler/maximaler Backoff für die Richtlinie für exponentiellen Backoff
Unbefristete WiederholungsversucheMöglich, wenn konfiguriert, aber durch das maximale Limit für die Aufbewahrung von Aufgaben begrenzt Standard für nicht bestätigte Nachrichten bis zum Ablauf, gemindert durch DLQ

Nächste Schritte