Glossar · Engineering
Ein Lastmuster, bei dem nach einem Fehler oder Ablauf einer Sperre viele Clients gleichzeitig dieselbe Ressource anfragen und sie damit erneut überlasten.
Definition
Vom Thundering-Herd-Problem spricht man, wenn eine große Zahl von Clients zeitgleich auf dasselbe Ereignis reagiert und dadurch eine Lastspitze erzeugt, die das eigentliche Problem verstärkt. Klassische Auslöser sind ein abgelaufener Cache-Eintrag, ein neu verfügbarer Dienst nach einem Ausfall oder eine freigegebene Sperre. Alle warten auf denselben Moment und schlagen dann synchron zu.
Typische Gegenmaßnahmen sind Jitter auf den Wartezeiten, ein Request-Coalescing (nur eine Anfrage füllt den Cache, der Rest wartet auf deren Ergebnis) sowie eine Warteschlange, die die Anfragen entzerrt. Ziel ist immer, die zeitliche Korrelation zwischen den Clients aufzubrechen, damit die Last über ein Fenster verteilt statt in einer Spitze ankommt.
So nutzen wir das bei adsbird
Läuft ein gecachtes Produkt-Feed gleichzeitig für alle Besucher ab, verhindert Request-Coalescing, dass tausende Anfragen parallel die Storefront-API treffen.
Verwandte Begriffe
Wo wir Thundering Herd im Detail erklären
Thundering Herd in deinem Projekt?
Wenn du Thundering Herd in einem konkreten Workflow brauchst, wir haben das wahrscheinlich schon gebaut.