Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

Retry Pattern — opakování s rozumem

24. 02. 2024 1 Min. Lesezeit intermediate

Architektur Einsteiger

Retry Pattern – Wiederholung mit Verstand

RetryResilienceError Handling 3 min Lesezeit

Korrekte Implementierung von Retry-Logik. Exponential Backoff, Jitter und wann man NICHT wiederholen sollte.

Exponential Backoff mit Jitter

async function retryWithBackoff(fn, maxRetries = 3) {
    for (let attempt = 0; attempt <= maxRetries; attempt++) {
        try { return await fn(); }
        catch (error) {
            if (attempt === maxRetries) throw error;
            if (!isTransient(error)) throw error;
            const delay = Math.pow(2, attempt) * 1000 * (0.5 + Math.random() * 0.5);
            await sleep(delay);
        }
    }
}
function isTransient(error) {
    const s = error.response?.status;
    return s === 429 || s === 503 || s >= 500;
}

Wann NICHT wiederholen

  • 4xx-Fehler (ausser 429)
  • Nicht-idempotente Operationen ohne Idempotency-Key
  • Authentifizierungsfehler (401/403)
  • Lang laufende Operationen

Zusammenfassung

Exponential Backoff + Jitter + Max Retries. Wiederholen Sie nur bei transienten Fehlern und idempotenten Operationen.

Brauchen Sie Hilfe bei der Implementierung?

Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.

Kostenlose Beratung

Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.