Engineering Kiosk podcast

#249 Resilience Engineering: Rate Limiting oder wie 429 dein System rettet

0:00
1:03:11
Reculer de 15 secondes
Avancer de 15 secondes

Rate Limiting klingt erstmal wie ein nerviges Nein. In Wahrheit ist es oft der Unterschied zwischen stabiler Plattform und dem Klassiker: kurz ein bisschen Traffic, und plötzlich ist alles down. Denn Systeme scheitern selten an einem Request, sondern fast immer an zu vielen: Retry Storms nach einem Funkloch, Thundering Herd nach einem Cache-Expire, Traffic Amplification in Microservices oder einfach ein Tenant, der als Noisy Neighbor das ganze Haus wachklingelt.

In dieser Episode gehen wir gemeinsam tief ins Reliability- und Resilience-Engineering und bauen Rate Limiting von Grund auf. Wir klären, wozu Rate Limiting wirklich da ist, wie es sich von Back Pressure, Graceful Degradation, Fault Isolation und Load Shedding abgrenzt und wo du es in deiner Architektur verankerst: Client, Edge, API Gateway, Sidecar Proxy wie Envoy oder direkt an Ressourcen wie Datenbanken und Queues.

Dann wird es konkret: Wir vergleichen die gängigen Strategien und Algorithmen, Fixed Window, Sliding Window, Token Bucket und Leaky Bucket, inklusive Bursts, Fairness und der Frage stateful vs. stateless. Dazu kommt die Realität: Was machst du, wenn der Rate Limiter selbst ausfällt – Fail Open vs. Fail Closed –, und warum das nicht nur Technik ist, sondern auch Produktmanagement, Monetarisierung und Kundenerlebnis.

Als Bonus schauen wir auf Best Practices aus der Praxis: wie GitHub und Cloudflare Rate Limits via HTTP-Header kommunizieren, warum standardisierte Header gerade wieder Fahrt aufnehmen und wieso Rate Limiting bei GraphQL-APIs so schnell zur Kostenberechnung im Query-AST wird.

Wenn du danach dein System nicht nur schneller, sondern auch stressresistenter machen willst, bist du hier richtig. Und ja, ein resilientes System darf auch mal Nein sagen, damit es morgen wieder Ja sagen kann.

Bonus: Manchmal ist der beste Load Test ein einzelner Curl-Befehl zur falschen Zeit.


Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners


Das schnelle Feedback zur Episode:

👍 (top) 👎 (geht so)


Anregungen, Gedanken, Themen und Wünsche

Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle …


Unterstütze den Engineering Kiosk

Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer 


Links


Sprungmarken

(00:00:00) Resilience Engineering: Rate Limiting

(00:03:57) Failure Modes: Retry Storms, Thundering Herd, Traffic Spikes und Traffic Amplification

(00:04:28) Info/Werbung

(00:05:28) Failure Modes: Retry Storms, Thundering Herd, Traffic Spikes und Traffic Amplification

(00:17:50) Wo platzierst du Rate Limiting: Client, Edge, API Gateway, Sidecar und Ressourcen

(00:25:22) Welche Strategie passt: Bursts, Fairness und stateful vs stateless Rate Limiting

(00:28:54) Algorithmen: Fixed Window, Sliding Window, Token Bucket und Leaky Bucket

(00:38:36) Kommunikation: Rate Limits sauber kommunizieren und HTTP Header

(00:44:23) Wenn der Rate Limiter ausfällt: Fail Open vs Fail Closed

(00:50:28) Warum GraphQL Rate Limiting schwer ist: Query Kosten

(00:59:24) Takeaways: Rate Limiting als Sicherheitsgurt fuer Resilience und Verfügbarkeit


Hosts


Community

Diskutiere mit uns und vielen anderen Tech-Spezialist⋅innen in unserer Engineering Kiosk Community unter https://engineeringkiosk.dev/join-discord

D'autres épisodes de "Engineering Kiosk"