Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Wiederholversuche - AWS SDK for Rust

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.

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.

Wiederholversuche

Das AWS SDK for Rust bietet ein standardmäßiges Wiederholungsverhalten und anpassbare Konfigurationsoptionen. Ruft auf, um AWS-Services gelegentlich unerwartete Ausnahmen zurückzugeben. Bestimmte Arten von Fehlern, wie Drosselungen oder vorübergehende Fehler, können erfolgreich sein, wenn der Aufruf erneut versucht wird.

Das Wiederholungsverhalten kann global mithilfe von Umgebungsvariablen oder Einstellungen in der gemeinsam genutzten Datei konfiguriert werden. AWS config Informationen zu diesem Ansatz finden Sie unter Verhalten bei Wiederholungsversuchen im Referenzhandbuch AWS SDKs und im Tools-Referenzhandbuch. Es enthält auch detaillierte Informationen zu Implementierungen von Wiederholungsstrategien und dazu, wie Sie sich für eine Strategie entscheiden können.

Alternativ können diese Optionen auch in Ihrem Code konfiguriert werden, wie in den folgenden Abschnitten gezeigt.

Standardkonfiguration für Wiederholungsversuche

Jeder Service-Client verwendet standardmäßig die Konfiguration der standard Wiederholungsstrategie, die in der Struktur bereitgestellt wird. RetryConfig Standardmäßig wird ein Anruf dreimal versucht (der erste Versuch plus zwei Wiederholungen). Darüber hinaus wird jeder Wiederholungsversuch um eine kurze, zufällige Dauer verzögert, um Wiederholungsversuche zu vermeiden. Diese Konvention ist für die meisten Anwendungsfälle geeignet, kann jedoch unter bestimmten Umständen, wie z. B. bei Systemen mit hohem Durchsatz, ungeeignet sein.

Nur einige Arten von Fehlern werden von der als wiederholbar angesehen. SDKs Beispiele für Fehler, die wiederholt werden können, sind:

  • Socket-Timeouts

  • Drosselung auf der Serviceseite

  • vorübergehende Dienstfehler wie HTTP 5XX-Antworten

Die folgenden Beispiele gelten nicht als wiederholbar:

  • Fehlende oder ungültige Parameter

  • Authentifizierungs-/Sicherheitsfehler

  • Ausnahmen bei Fehlkonfigurationen

Sie können die standard Wiederholungsstrategie anpassen, indem Sie die maximale Anzahl an Versuchen, Verzögerungen und die Backoff-Konfiguration festlegen.

Maximale Anzahl an Versuchen

Sie können die maximale Anzahl der Versuche in Ihrem Code anpassen, indem Sie eine Änderung RetryConfigan Ihrem Code angebenaws_config::defaults:

const CUSTOM_MAX_ATTEMPTS: u32 = 5; let retry_config = RetryConfig::standard() // Set max attempts. When max_attempts is 1, there are no retries. // This value MUST be greater than zero. // Defaults to 3. .with_max_attempts(CUSTOM_MAX_ATTEMPTS); let config = aws_config::defaults(BehaviorVersion::latest()) .retry_config(retry_config) .load() .await;

Verzögerungen und Rückschläge

Wenn ein erneuter Versuch erforderlich ist, wartet die standardmäßige Wiederholungsstrategie, bevor sie den nächsten Versuch durchführt. Die Verzögerung beim ersten Versuch ist gering, nimmt aber bei späteren Wiederholungen exponentiell zu. Die maximale Verzögerung ist begrenzt, sodass sie nicht zu groß wird.

Zufälliger Jitter wird auf die Verzögerungen zwischen allen Versuchen angewendet. Der Jitter trägt dazu bei, die Auswirkungen großer Flotten zu mildern, die zu erneuten Stürmen führen können. Eine eingehendere Erläuterung zu exponentiellem Backoff und Jitter finden Sie unter Exponentieller Rückfluss und Jitter im Architektur-Blog.AWS

Sie können die Verzögerungseinstellungen in Ihrem Code anpassen, indem Sie eine Änderung an Ihrem Code angeben. RetryConfigaws_config::defaults Der folgende Code legt die Konfiguration so fest, dass der erste Wiederholungsversuch um bis zu 100 Millisekunden verzögert wird und dass die maximale Zeitspanne zwischen jedem Wiederholungsversuch 5 Sekunden beträgt.

let retry_config = RetryConfig::standard() // Defaults to 1 second. .with_initial_backoff(Duration::from_millis(100)) // Defaults to 20 seconds. .with_max_backoff(Duration::from_secs(5)); let config = aws_config::defaults(BehaviorVersion::latest()) .retry_config(retry_config) .load() .await;

Adaptiver Wiederholungsmodus

Als Alternative zur Moduswiederholungsstrategie ist die standard adaptive Moduswiederholungsstrategie ein fortschrittlicher Ansatz, bei dem nach der idealen Anforderungsrate gesucht wird, um Drosselungsfehler zu minimieren.

Anmerkung

Adaptive Wiederholungen sind ein erweiterter Wiederholungsmodus. Die Verwendung dieser Strategie wird in der Regel nicht empfohlen. Weitere Informationen finden Sie unter Verhalten bei Wiederholungsversuchen im Referenzhandbuch AWS SDKs und im Tools-Referenzhandbuch.

Adaptive Wiederholungen umfassen alle Funktionen von Standardwiederholungen. Es fügt einen clientseitigen Ratenbegrenzer hinzu, der die Rate gedrosselter Anfragen im Vergleich zu Anfragen ohne Drosselung misst. Außerdem wird der Datenverkehr so begrenzt, dass versucht wird, innerhalb einer sicheren Bandbreite zu bleiben, sodass im Idealfall keine Drosselungsfehler auftreten.

Die Rate passt sich in Echtzeit an sich ändernde Betriebsbedingungen und Verkehrsmuster an und kann die Verkehrsrate entsprechend erhöhen oder verringern. Entscheidend ist, dass der Ratenbegrenzer erste Versuche in Szenarien mit hohem Verkehrsaufkommen verzögern kann.

Sie können die adaptive Wiederholungsstrategie im Code auswählen, indem Sie Folgendes angeben: RetryConfig

let config = aws_config::defaults(BehaviorVersion::latest()) .retry_config(RetryConfig::adaptive()) .load() .await;
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.