Backend, APIs & Daten · Fortgeschritten

Last: Ratenbegrenzungen und Selbstschutz

In einem Satz: Ein gesundes System verweigert früh und klar, statt langsam unter einer Last zusammenzubrechen, die es nicht tragen kann.

Ratenbegrenzung

Je Verbraucher, je Route und nach Ressource. Geben Sie einen passenden Statuscode und einen Header zurück, der sagt, wann erneut zu versuchen ist. Eine undokumentierte Grenze erzeugt Integrationen, die ohne Erklärung brechen.

Trennen Sie den Schutz vor Missbrauch von der Kapazitätsverwaltung. Der erste ist scharf, die zweite flexibel.

Den Kern schützen

Eine Warteschlange mit Höchstlänge, frühes Lastabwerfen und Ressourcenisolierung, damit eine langsame Route nicht alle Verbindungen leert. Kann eine schwere Berichtsroute die Anmelderoute ersticken, haben Sie ein Architektur- und kein Kapazitätsproblem.

Vorher testen, nicht nachher

Führen Sie einen Lasttest auf einer produktionsähnlichen Umgebung aus und finden Sie den Punkt, an dem die Antwortzeit explodiert. Dieser Punkt ist Ihre Kapazität, und es lohnt sich, ihn zu kennen, bevor eine Marketingkampagne ihn für Sie entdeckt.

Im Detail

Definieren Sie ein abgestuftes Verhalten: zuerst sekundäre Fähigkeiten abschalten, dann nur aus dem Cache ausliefern und erst am Ende verweigern. Ein System, das sich zu schrumpfen weiß, überlebt eine Last, die eines zu Fall bringt, das nur zu arbeiten oder zu fallen weiß.