Naar de inhoud

Cache stampede

Een cache stampede ontstaat wanneer gelijktijdige cachemissers dezelfde dure berekening of gegevensopvraag herhaaldelijk starten.

Softwarearchitectuur

Een cache stampede ontstaat wanneer veel aanvragen ongeveer tegelijk dezelfde ontbrekende cachewaarde nodig hebben en hetzelfde werk bij de gegevensbron starten. Een verlopen waarde of een leeg gestarte cache kan zo een belastingspiek veroorzaken.

In een fictief dashboard vragen 100 gelijktijdige aanvragen binnen hetzelfde toegestane gegevensbereik summary:tenant-7 op. Ontbreekt de samenvatting en wordt het werk niet gecoördineerd, dan kunnen veel identieke herberekeningen starten.

Aanvragen voor dezelfde gegevens bundelen

Request coalescing bundelt deze aanvragen: een lopende herberekening wordt voor dezelfde sleutel en hetzelfde gegevensbereik gedeeld. Andere aanvragen wachten gecontroleerd op het resultaat of krijgen een oudere waarde als de functionele actualiteitsregel dat toestaat. De bundeling mag verschillende gebruikers of bevoegdheidsbereiken niet samenvoegen.

Een vergrendeling die alleen binnen één proces werkt, coördineert niet automatisch alle servers. Mislukte berekeningen en te lang wachtende aanvragen hebben ook een begrensde foutafhandeling nodig. Cache-invalidatie bepaalt wanneer een waarde niet langer bruikbaar is; stampedebeveiliging regelt de gelijktijdige vernieuwing.

Bronnen