Mehrere Schlüssel pro Anbieter: gewichtete Verteilung, feste Bindung, Standby-Übernahme
Hängen Sie mehrere API-Schlüssel an einen Upstream: gewichtete Verteilung, feste Bindung pro Aufrufer, Standby-Schlüssel mit weight=0 als Rückfall — kein hartes Warten mehr auf 429.
Worüber die Community tatsächlich klagt
Reddit-Favoriten: „Die RPM eines OpenAI-Schlüssels reicht nicht, wie rotiere ich über mehrere Konten“, „ein Schlüssel erreicht 429 und das Geschäft wartet einfach“, „beim Schlüsselwechsel geht die gesamte Sitzungs-Cache-Affinität verloren“.
Eine eigene Rotation zu bauen bedeutet, Stickiness, Gewichte, Standby und Fehler-Eviction selbst zu handhaben — echte Engineering-Arbeit.
Wie GateLLM es macht
Das GateLLM-Upstream-Formular akzeptiert mehrere API-Schlüssel: Ein deterministischer gewichteter Hash (FNV-1a) bindet jeden Aufrufer fest an denselben Upstream-Schlüssel (stabil innerhalb der TTL; das Rotieren eines Schlüssels an Ort und Stelle bricht die Stickiness nicht), und Gewichte bestimmen das Verteilungsverhältnis. Wenn ein Schlüssel ausfällt, wiederholt das Gateway den Versuch mit dem nächsten unversuchten Schlüssel innerhalb dieses Upstreams — ohne die ursprüngliche feste Bindung zu überschreiben.
Schlüssel mit weight=0 sind Standby und werden erst aktiviert, nachdem jeder Schlüssel mit weight>0 ausgefallen ist. Der Bindungsstatus (binding / predicted / stale) ist Zeile für Zeile in der Konsole sichtbar.
Der Mechanismus stapelt sich orthogonal mit Load Balancern: Smooth WRR wählt den Upstream über Einträge hinweg, dann wählt die feste Auswahl den Schlüssel darin.
5 Hebel, die tatsächlich wirken
- Gewichtete Multi-Keys: deterministischer gewichteter Hash verteilt Aufrufer, Gewichte sind Verhältnisse
- Feste Bindung: jeder Aufrufer bleibt innerhalb der TTL am selben Upstream-Schlüssel — Cache-Affinität
- Standby-Schlüssel: weight=0-Schlüssel bleiben aus der normalen Verteilung heraus, aktiviert erst nach Ausfall jedes aktiven Schlüssels
- Sichtbare Bindungen: binding-/predicted-/stale-Zustände Zeile für Zeile, automatische Aktualisierung alle 3 s
- Orthogonal zum LB: Schlüsselauswahl innerhalb eines Upstreams + Smooth WRR über Upstreams stapeln sich als zwei Ebenen