Gateway, Routing & Resilienz
Ein Provider antwortet mit 429, ungültige Requests werden trotzdem erneut gesendet und das automatische Failover schwenkt sogar bei permanenten Clientfehlern. Ohne Fehlerklassifikation wird das Gateway vom Schutzpunkt zum Verstärker einer Störung.
Lehrtext · 12 Abschnitte · zuletzt geprüft: 2026-09-04
Das Problem: verstreuter Modellzugriff
Sobald mehr als ein Dienst ein Modell aufruft, wandern Anmeldedaten, Retry-Logik, Timeouts und Kostenzuordnung in jeden dieser Dienste. Das Ergebnis ist vorhersagbar: Niemand kennt die Gesamtausgaben pro Team, ein Schlüsselwechsel wird zur Suchaktion, und jede Anwendung erfindet ihr eigenes Retry-Verhalten — im Zweifel eines, das unter Last die Anbieterquote sprengt. Am Gateway werden daraus benannte Verträge wie Retry-After, traceparent und ein verbindliches Request-Budget.
Ein LLM-Gateway ist ein interner Durchgang, über den alle Modellaufrufe laufen. Es ist kein Produktbaustein, sondern eine Betriebsentscheidung: Es zentralisiert genau die Aufgaben, die in jeder Anwendung gleich gelöst werden müssten.
Betriebsprobe: LLM-GATEWAY
Szenario
Sieben Anwendungen rufen direkt Anbieter-APIs auf, jede mit eigenem Schlüssel und eigener Retry-Logik. Ihr führt ein Gateway ein. Im Entwurf soll das Gateway zusätzlich die System-Prompts aller Anwendungen halten, „damit Prompt-Änderungen zentral gepflegt werden können“.
Anforderungen
- Wie schneidest du die Verantwortung?
- Bewerte Ursache, wirksame Grenze und den Preis der tragfähigen Maßnahme getrennt.
Schritte
- Tragfähiger Ansatz: Anmeldedaten, Quoten, Retry- und Timeout-Politik sowie Telemetrie ins Gateway; System-Prompts bleiben beim jeweiligen Anwendungsteam und dessen Release-Artefakt. Richtig. Zentralisiert gehört, was für alle Aufrufer identisch ist. Ein fachlicher Prompt gehört zum Produkt — im Gateway würde jede Produktänderung das gemeinsame Bauteil anfassen und dessen Änderungsrisiko auf alle sieben Anwendungen ausdehnen.
- Plausibler Fehlweg: Alles zentralisieren, auch die Prompts — eine Stelle ist einfacher zu betreiben als sieben. Das verwechselt Betriebsaufgaben mit Produktinhalt. Das Gateway würde bei jedem Prompt-Feinschliff deployt; sein Änderungsrisiko trifft dann alle Anwendungen gleichzeitig, obwohl nur eine etwas wollte.
- Plausibler Fehlweg: Kein Gateway, stattdessen eine gemeinsame Client-Bibliothek in allen sieben Anwendungen. Eine Bibliothek kann Verhalten vereinheitlichen, aber keine Quote oder ein Budget durchsetzen und keine Anmeldedaten aus den Anwendungen heraushalten — sie wirkt nur, wenn alle die aktuelle Version einsetzen, und ist damit kein Kontrollpunkt.
- Plausibler Fehlweg: Das Gateway auf reines Schlüsselmanagement beschränken und Retries in den Anwendungen lassen. Damit bleibt der gefährlichste Teil verstreut: Unkoordinierte Retries aus sieben Anwendungen sind genau der Mechanismus, der unter Last die gemeinsame Anbieterquote sprengt.
Merksatz: Zentralisiere, was für alle Aufrufer gleich ist und durchgesetzt werden muss; dezentral bleibt, was sich pro Produkt unterschiedlich schnell ändert. Sonst wird das gemeinsame Bauteil zum Änderungsengpass mit gemeinsamem Ausfallrisiko. + Einheitliche Durchsetzung von Quoten und Retries, ein Ort für Anmeldedaten und Kostenzuordnung. − Das Gateway wird ein gemeinsamer Ausfallpunkt im heißen Pfad und braucht dafür höhere Verfügbarkeits- und Betriebsansprüche als die Dienste dahinter.
Was ins Gateway gehört und was nicht
- Ins Gateway
- Anmeldedaten, Quoten- und Budgetdurchsetzung, Retry- und Timeout-Politik, Telemetrie und Kostenzuordnung, Anbieter-Failover, Modell-Aliasse.
- In die Anwendung
- Prompt-Inhalt, Retrieval-Logik, fachliche Ausgabevalidierung, Produktentscheidungen über Fallback-Verhalten.
Die Grenze verläuft entlang der Frage: Ist das für alle Aufrufer gleich? Anmeldedaten und Quoten sind es. Ein fachlicher Prompt ist es nicht — wandert er ins Gateway, entsteht ein zentrales Bauteil, das bei jeder Produktänderung angefasst wird, und damit ein Engpass mit anwendungsübergreifendem Ausfallrisiko.
Betriebsprobe: CREDENTIAL-BOUNDARY
Szenario
Ein Anbieterschlüssel wurde versehentlich in einem Repository veröffentlicht und musste sofort rotiert werden. Der Wechsel dauerte einen halben Tag, weil derselbe Schlüssel in vier Anwendungen, zwei Batch-Jobs und einer Notebook-Umgebung lag. Die Kostenzuordnung pro Team war schon vorher nicht möglich.
Anforderungen
- Welche Struktur verhindert die Wiederholung am wirksamsten?
- Bewerte Ursache, wirksame Grenze und den Preis der tragfähigen Maßnahme getrennt.
Schritte
- Tragfähiger Ansatz: Anbieterschlüssel ausschließlich im Gateway halten; Anwendungen bekommen eigene, kurzlebige interne Anmeldedaten pro Dienst, die dort widerrufbar sind und die Kostenzuordnung tragen. Richtig. Damit gibt es genau einen Ort mit dem teuren Geheimnis, ein kompromittiertes Anwendungs-Anmeldedatum ist einzeln widerrufbar, und die Zuordnung entsteht als Nebenprodukt der Identität statt als nachträgliche Schätzung.
- Plausibler Fehlweg: Pro Anwendung einen eigenen Anbieterschlüssel ausgeben — zentral im Gateway versioniert und unverändert auf alle Fehlerklassen und Anbieter angewendet sowie ohne anwendungsspezifische Idempotenz- oder Qualitätsprüfung automatisch durchgesetzt. Das begrenzt den Radius eines Lecks und ermöglicht Zuordnung, verteilt aber weiterhin Anbietergeheimnisse über alle Anwendungen — die Rotation bleibt eine Suchaktion, nur mit mehr Objekten.
- Plausibler Fehlweg: Den Schlüssel in einem Secret-Manager ablegen und alle Anwendungen ihn dort lesen lassen. Das verbessert die Ablage deutlich, aber der Schlüssel liegt zur Laufzeit weiterhin im Speicher jeder Anwendung. Ein einziger kompromittierter Dienst betrifft alle, und die Zuordnung pro Team entsteht dadurch immer noch nicht.
- Plausibler Fehlweg: Ausgehenden Verkehr per Netzwerkregel auf den Anbieter beschränken, damit ein geleakter Schlüssel von außen unbrauchbar ist. Eine sinnvolle ergänzende Maßnahme, aber sie beantwortet keine der beiden Fragen: Der Schlüssel liegt weiter verstreut, die Rotation bleibt langsam und die Kosten bleiben unzuordenbar.
Merksatz: Ein Geheimnis sollte an so wenigen Stellen wie möglich existieren, und jeder Aufrufer sollte eine eigene, einzeln widerrufbare Identität haben. Identität ist zugleich die Grundlage jeder Zuordnung — von Kosten wie von Missbrauch. + Rotation wird zu einem Handgriff, Kompromittierung bleibt lokal, Kosten sind pro Dienst zuordenbar. − Das Gateway wird zum kritischen Pfad mit sehr hohem Schutzbedarf: Fällt es aus oder wird es kompromittiert, betrifft das alle Anwendungen gleichzeitig.
Modell-Aliasse: Indirektion als Release-Hebel
Statt dass jede Anwendung eine konkrete Modellversion hart verdrahtet, bietet das Gateway interne Aliasse an — etwa eine Klasse für günstige Massenarbeit und eine für anspruchsvolle Aufgaben. Der Alias zeigt auf eine gepinnte Anbieterversion.
Betriebsprobe: RETRY-SEMANTICS
Szenario
Ein Dienst wiederholt jeden fehlgeschlagenen Modellaufruf dreimal. Die Auswertung zeigt: Ein Drittel aller Retries entfällt auf Anfragen, deren Kontext das Modelllimit überschreitet, ein weiteres Drittel auf Drosselungsantworten des Anbieters, der Rest auf sporadische Serverfehler. Die Anbieterrechnung steigt, die Erfolgsquote kaum.
Anforderungen
- Wie stellst du die Retry-Regel um?
- Bewerte Ursache, wirksame Grenze und den Preis der tragfähigen Maßnahme getrennt.
Schritte
- Tragfähiger Ansatz: Nach Fehlerklasse trennen: Limit-Überschreitungen sofort ohne Wiederholung zurückgeben, Drosselung mit Wartezeit und Streuung wiederholen, Serverfehler begrenzt wiederholen. Richtig. Nur Fehler, deren Ursache außerhalb der Anfrage liegt, können durch Warten verschwinden. Eine Kontextüberschreitung ist bei jedem Versuch identisch — dort ist der Retry reine Verschwendung und verdeckt einen Anwendungsfehler.
- Plausibler Fehlweg: Die Anzahl der Versuche von drei auf eins senken — zentral im Gateway versioniert und unverändert auf alle Fehlerklassen und Anbieter angewendet sowie ohne anwendungsspezifische Idempotenz- oder Qualitätsprüfung automatisch durchgesetzt. Das dämpft die Kosten, behält aber die falsche Logik: Aussichtslose Wiederholungen laufen weiter, und bei echter Drosselung ist ein einziger schneller Nachversuch oft zu wenig.
- Plausibler Fehlweg: Retries beibehalten, aber bei Kontextüberschreitung den Kontext automatisch kürzen und erneut senden. Das versteckt einen Anwendungsfehler hinter einer stillen inhaltlichen Änderung: Die Anfrage wird beantwortet, aber auf Basis eines beschnittenen Kontexts, ohne dass jemand die Qualitätsminderung sieht. Kürzen ist eine bewusste Produktentscheidung, kein Fehlerbehandlungspfad.
- Plausibler Fehlweg: Alle Retries entfernen und Fehler direkt an den Nutzer geben. Zu grob. Sporadische Serverfehler und kurze Drosselungen sind genau die Fälle, in denen ein maßvoller Nachversuch die Erfolgsquote ohne nennenswerte Zusatzlast hebt.
Merksatz: Ein Retry ist nur sinnvoll, wenn sich zwischen den Versuchen etwas ändern kann. Fehler, die aus der Anfrage selbst folgen, sind deterministisch — dort ist Wiederholung Kosten ohne Erwartungswert. + Weniger Kosten, sichtbare Anwendungsfehler, gezielte Wiederholung dort, wo sie wirkt. − Die Fehlerbehandlung wird komplexer und muss Anbieter-Fehlerklassen kennen; ändern sich deren Fehlersemantiken, muss die Zuordnung nachgezogen werden.
Routing nach Arbeitsklasse
Routing heißt, Anfragen anhand deklarierter Eigenschaften an unterschiedliche Ziele zu schicken: Massenklassifikation auf ein kleines Modell, komplexe Analyse auf ein starkes, alles mit Vertraulichkeitsauflage auf eine bestimmte Region oder Bereitstellung.
Robust ist Routing, wenn die Anwendung eine Absicht deklariert (Arbeitsklasse, Qualitätsanspruch, Datenkategorie) und das Gateway daraus das Ziel ableitet. Fragil wird es, wenn das Gateway die Absicht errät — etwa an der Eingabelänge oder mit einem eigenen Klassifikationsmodell im heißen Pfad: Dann hängt die Antwortqualität an einer unsichtbaren, schwer testbaren Heuristik, und jeder Fehlgriff ist für die Anwendung unerklärlich.
Betriebsprobe: BACKOFF-JITTER
Szenario
Nach einer sechzigsekündigen Anbieterstörung bricht euer Dienst erneut zusammen, sobald der Anbieter wieder antwortet. Die Auswertung zeigt eine scharfe Lastspitze exakt eine, zwei und vier Sekunden nach der Erholung. Die Klienten nutzen exponentielles Backoff mit festen Wartezeiten.
Anforderungen
- Was ist die Ursache und die Korrektur?
- Bewerte Ursache, wirksame Grenze und den Preis der tragfähigen Maßnahme getrennt.
Schritte
- Tragfähiger Ansatz: Die festen Wartezeiten synchronisieren alle Klienten auf dieselben Zeitpunkte — zufällige Streuung in die Wartezeit aufnehmen und zusätzlich den Anteil der Retries an der Gesamtlast über ein Retry-Budget begrenzen. Richtig. Die Spitzen genau bei den Backoff-Stufen sind die Signatur synchronisierter Klienten. Streuung verteilt die Wiederkehr über die Zeit, das Budget verhindert, dass Wiederholungen die Erholung erneut überrollen.
- Plausibler Fehlweg: Die Backoff-Basis von einer auf zehn Sekunden erhöhen. Das verschiebt die Spitze nur nach hinten und macht sie nicht kleiner: Alle Klienten treffen dann synchron nach zehn Sekunden ein. Die Synchronisation ist das Problem, nicht der Zeitpunkt.
- Plausibler Fehlweg: Kapazität dauerhaft erhöhen, damit die Wiederkehr-Spitze aufgefangen wird. Das dimensioniert den Normalbetrieb auf eine selbst erzeugte Spitze und ist teuer. Die Spitze entsteht aus dem Klientenverhalten und lässt sich dort billiger beseitigen.
- Plausibler Fehlweg: Nach einer Störung alle Klienten neu starten, damit ihre Timer auseinanderlaufen. Ein zufälliger Nebeneffekt, kein Mechanismus: Ein koordinierter Neustart synchronisiert die Timer eher, und im nächsten Vorfall ist niemand da, der zur richtigen Sekunde neu startet.
Merksatz: Gleichartige Klienten mit gleicher Regel handeln gleichzeitig. Zufällige Streuung ist der Mechanismus, der korrelierte Massenwiederholungen in verteilte Last verwandelt — sie ist kein Feinschliff, sondern der wirksame Teil des Backoffs. + Der Dienst übersteht die Erholung ohne zweiten Zusammenbruch. − Einzelne Anfragen warten teils spürbar länger als nötig, und die Fehlerbehandlung wird nicht deterministisch reproduzierbar — Tests müssen mit einer Zeitspanne statt einem festen Wert arbeiten.
Failover: was ein zweiter Anbieter wirklich kostet
Ein Gateway kann bei Anbieterausfall auf ein Ausweichziel schwenken. Das ist der stärkste Hebel gegen Anbieterrisiko — und der am häufigsten unterschätzte, weil ein Ausweichmodell anders antwortet: andere Formatierungstreue, andere Ablehnungsneigung, andere Werkzeugaufrufe.
- Ein Failover-Ziel muss regelmäßig echten Traffic sehen, sonst ist es im Ernstfall ungetestet.
- Der Wechsel gehört in die Telemetrie: Welche Antworten stammen aus dem Ausweichpfad?
- Failover bei Fehlern ist einfach; Failover bei schlechter Qualität ist eine Produktentscheidung, keine Infrastrukturregel.
- Nicht jeder Fehler rechtfertigt einen Schwenk — ein Eingabefehler wird beim zweiten Anbieter genauso scheitern.
Was die Checks prüfen
- Welche Aufgaben ins Gateway gehören und welche es zum Engpass machen
- Wie Anmeldedaten und Quoten an einer Grenze durchgesetzt werden
- Wann Routing deklariert und wann geraten wird
- Welche Fehlerklassen einen Anbieterschwenk rechtfertigen
Warum Retries bei LLM-Diensten besonders teuer sind
Ein wiederholter HTTP-Aufruf kostet ein paar Millisekunden. Ein wiederholter Generierungsaufruf kostet erneut die volle Rechenarbeit, erneut Tokens und erneut einen Platz im Server — und er trifft eine Kapazität, die gerade knapp ist, sonst wäre der erste Versuch nicht gescheitert.
Damit gilt der klassische SRE-Befund hier verschärft: Retries sind der häufigste Mechanismus, der aus einer Störung einen Ausfall macht. Die Last steigt genau dann, wenn das System am wenigsten davon verträgt.
Welche Fehler überhaupt wiederholbar sind
- Wiederholbar
- Nichterreichbarkeit, Serverfehler, Zeitüberschreitung ohne Wirkung, Drosselung — mit Wartezeit und Obergrenze.
- Nicht wiederholbar
- Ungültige Parameter, zu langer Kontext, fehlende Berechtigung, abgelehnte Eingabe — die Ursache liegt in der Anfrage.
- Nur mit Sorgfalt
- Zeitüberschreitung, bei der unklar ist, ob die Arbeit auf der Gegenseite bereits gelaufen ist.
Der dritte Fall ist der interessante. Bei einem Timeout weißt du nicht, ob der Aufruf durchlief. Hat er Nebenwirkungen ausgelöst — ein Werkzeugaufruf, ein Datenbankschreibvorgang, eine E-Mail — erzeugt ein blinder Retry den Effekt ein zweites Mal.
Backoff und Streuung
Sofortige Wiederholung trifft dieselbe Sättigung. Deshalb: exponentiell wachsende Wartezeit plus zufällige Streuung. Die Streuung ist der Teil, den man am häufigsten weglässt — ohne sie synchronisieren sich alle Klienten nach einer Störung auf denselben Zeitpunkt und erzeugen eine Wiederholungswelle, die die gerade erholte Kapazität sofort wieder umwirft.
Retries stapeln sich über Ebenen
Retries auf mehreren Schichten multiplizieren sich: Drei Versuche im Client, drei im Gateway und drei in der Anbieterbibliothek ergeben bis zu siebenundzwanzig Aufrufe für eine Nutzeranfrage. Das ist der Standardweg in eine Überlastspirale.
Die betriebliche Regel: Retries gehören auf eine Ebene, bevorzugt dort, wo Kontext über Fristen und Kosten vorliegt. Alle anderen Ebenen geben Fehler durch. Zusätzlich hilft ein gemeinsames Retry-Budget, das den Anteil wiederholter Aufrufe an der Gesamtlast begrenzt, statt jede Anfrage einzeln zu betrachten.
Schutzschalter: irgendwann ist Aufhören richtig
Wenn ein Ziel dauerhaft scheitert, ist jeder weitere Versuch verschwendete Kapazität und verlängerte Nutzerwartezeit. Ein Schutzschalter beobachtet die Fehlerrate, öffnet nach einer Schwelle und lässt Anfragen dann sofort scheitern oder in den Fallback laufen — bis vereinzelte Testanfragen zeigen, dass das Ziel wieder trägt.
Der Nutzen ist doppelt: Der Aufrufer bekommt schnell eine Antwort statt einer langen Zeitüberschreitung, und das kranke Ziel bekommt Ruhe zum Erholen. Der Preis: Ein zu empfindlich eingestellter Schalter schneidet bei kurzen Störungen mehr Verkehr ab als nötig.
Was die Checks prüfen
- Ob du wiederholbare von nicht wiederholbaren Fehlern trennst
- Ob deine Wartezeitstrategie eine Wiederholungswelle verhindert
- Wie du mit Nebenwirkungen bei unklarem Ausgang umgehst
- Wann ein Schutzschalter besser ist als ein weiterer Versuch
Jetzt anwenden
Diesen Stoff gibt es als Modul mit bewerteten Entscheidungs-Checks — dieselbe Einführung, danach die Übungen.
Zum Modul →