Wenn eine Nachricht an einen Pull-Abonnenten zugestellt wird, muss er sie innerhalb des Bestätigungszeitlimits verarbeiten und bestätigen. Andernfalls muss der Abonnent den Termin mit einem Anruf verlängern, um den Termin für die Bestätigung zu ändern.
Die hochrangigen Clientbibliotheken von Pub/Sub bieten eine Leasingverwaltung als Funktion, die die Frist für eine Nachricht, die noch nicht bestätigt wurde, automatisch verlängert. Standardmäßig können die Clientbibliotheken die Frist auf eine Stunde verlängern, indem sie regelmäßig modifyAckDeadline-Anfragen senden. Die Clientbibliotheken der höheren Ebene für Python, Go, Java und .Net verwenden den 99. Perzentil der Bestätigungsverzögerung, um die Länge jeder Verlängerung zu bestimmen.
Mit der Lease-Verwaltung haben Sie im Vergleich zur Konfiguration des Attributs auf Aboebene eine detailliertere Kontrolle über den Termin für die Bestätigung von Nachrichten. Wenn Sie nur den Termin für die Bestätigung auf Aboebene verwenden, müssen Sie einen Kompromiss zwischen einem niedrigen und einem hohen Wert finden. Ein niedriger Wert erhöht die Wahrscheinlichkeit von Duplikaten und ein hoher Wert verzögert die erneute Zustellung fehlgeschlagener Nachrichten. Es kann schwierig sein, den richtigen Wert zu ermitteln, insbesondere wenn die erwartete Verarbeitungszeit für verschiedene Nachrichten stark variiert.
Weitere Informationen zu den Eigenschaften eines Abos, einschließlich des Termins für die Bestätigung, finden Sie unter Abo-Attribute.
Konfiguration der Ressourcenverwaltung
Sie können die folgenden Eigenschaften in den hochrangigen Clientbibliotheken konfigurieren, um die Ressourcenverwaltung zu steuern.
Maximale Verlängerungsdauer der Bestätigung. Die maximale Zeitspanne, um die Sie mithilfe der
modify acknowledgment deadline
-Anfrage den Termin für die Bestätigung einer Nachricht verlängern können. Mit dieser Property können Sie festlegen, wie lange die Abonnenten-Clients Nachrichten verarbeiten sollen.Maximale Dauer für jede Bestätigungserweiterung. Die maximale Zeitspanne, um die der Termin für die Bestätigung für jede der
modify acknowledgment deadline
Anfragen verlängert werden kann. Mit dieser Property können Sie festlegen, wie lange Pub/Sub benötigt, um eine Nachricht noch einmal zu senden. Eine erneute Zustellung erfolgt, wenn der erste Abonnent, der die Nachricht verarbeitet, abstürzt oder in einen nicht ordnungsgemäßen Zustand gerät und diemodify acknowledgment deadline
-Anfrage nicht mehr senden kann.Mindestdauer für jede Bestätigungserweiterung. Die Mindestdauer, um die der Termin für die Bestätigung für jede der
modify acknowledgment deadline
Anfragen verlängert werden soll. Mit dieser Property können Sie die Mindestdauer angeben, die vergehen muss, bevor eine Nachricht noch einmal gesendet wird.
Es kann nicht garantiert werden, dass Fristen für die Bestätigung eingehalten werden, es sei denn, Sie aktivieren die Genau einmal-Zustellung.
Bestätigungsfristen manuell verwalten
Um das Ablaufen und die erneute Zustellung von Nachrichten bei der Verwendung von unary pull oder den Low-Level-Clientbibliotheken zu vermeiden, verlängern Sie die Bestätigungsfristen mit der modify acknowledgment deadline
-Anfrage. Die Ausnahmen sind die Go- und C++-Clientbibliotheken der höheren Ebene, die die Freigabeverwaltung bei Verwendung des unary pull-Verfahrens bereitstellen. In den folgenden Beispielen wird die unary-Pull-Methode mit Lease-Management veranschaulicht:
C#
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für C# in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub C# API.
Java
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Java in der Kurzanleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Java API.
Node.js
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für PHP in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Node.js API.
Python
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Python in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Python API.
Ruby
Bevor Sie dieses Beispiel testen, folgen Sie der Einrichtungsanleitung für Ruby in der Schnellstart-Anleitung: Clientbibliotheken verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zu Pub/Sub Ruby API.
Nächste Schritte
Weitere Auslieferungsoptionen, die Sie für ein Abo konfigurieren können:
Vorübergehende Spitzen mithilfe der Ablaufsteuerung bewältigen
Umgang mit Nachrichtenfehlern mit der Abowiederholrichtlinie
Nicht zustellbare Nachrichten an ein Thema für unzustellbare Nachrichten weiterleiten
Bisher bestätigte Nachrichten wiedergeben oder Nachrichten löschen