Verstehen der Wiederholungsrichtlinie mit dem Treiber in Amazon QLDB - Amazon Quantum Ledger Database (Amazon QLDB)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verstehen der Wiederholungsrichtlinie mit dem Treiber in Amazon QLDB

Der Amazon QLDB-Treiber verwendet eine Wiederholungsrichtlinie, um vorübergehende Ausnahmen zu behandeln, indem er eine fehlgeschlagene Transaktion transparent wiederholt. Diese Ausnahmen wieCapacityExceededExceptionundRateExceededException, korrigieren Sie sich in der Regel nach einem bestimmten Zeitraum. Wenn die Transaktion, die mit der Ausnahme fehlgeschlagen ist, nach einer angemessenen Verzögerung erneut versucht wird, wird sie wahrscheinlich erfolgreich sein. Dies trägt dazu bei, die Stabilität der Anwendung zu verbessern, die QLDB verwendet.

Arten von retryable Fehlern

Der Fahrer versucht eine Transaktion automatisch, wenn und nur dann eine der folgenden Ausnahmen während eines Vorgangs innerhalb dieser Transaktion auftritt:

  • CapacityExcededException— Wird zurückgegeben, wenn die Anforderung die Verarbeitungskapazität des Buchs überschreitet.

  • InvalidSessionException— Wird zurückgegeben, wenn eine Sitzung nicht mehr gültig ist oder wenn die Sitzung nicht existiert.

  • LimitExceededException— Wird zurückgegeben, wenn ein Ressourcenlimit wie die Anzahl aktiver Sitzungen überschritten wird.

  • ocConflictException— Wird zurückgegeben, wenn eine Transaktion aufgrund eines Fehlers in der Verifizierungsphase von nicht in das Journal geschrieben werden kannOptimistic Concurrency Control(OCC).

  • RateExceedException— Wird zurückgegeben, wenn die Anforderungsrate den erlaubten Durchsatz überschreitet.

Standard-Richtlinie für die Wiederholung von

Die Wiederholungsrichtlinie besteht aus einer Wiederholungsbedingung und einer Backoff-Strategie. Die Wiederholungsbedingung legt fest, wann eine Transaktion erneut versucht werden soll, während die Backoff-Strategie definiert, wie lange gewartet werden soll, bevor die Transaktion erneut versucht wird.

Beim Erstellen einer Instanz des Treibers gibt die Standard-Wiederholungsrichtlinie an, dass Sie es bis zu viermal wiederholen und eine exponentielle Backoffstrategie verwenden. Die exponentielle Backoff-Strategie verwendet eine minimale Verzögerung von 10 Millisekunden und eine maximale Verzögerung von 5000 Millisekunden bei gleichem Jitter. Wenn die Transaktion innerhalb der Wiederholungsrichtlinie nicht erfolgreich übernommen werden kann, empfehlen wir, die Transaktion zu einem anderen Zeitpunkt auszuprobieren.

Das Konzept des exponentiellen Backoffs ist die Verwendung von progressiv längeren Wartezeiten zwischen Wiederholversuchen für aufeinanderfolgende Fehlermeldungen. Weitere Informationen finden Sie im .AWSBlog-PostsExponentielles Backoff und Jitteraus.