È tardi, ti stai vestendo per una piacevole cena con tua moglie quando il telefono squilla. È il tuo capo, che ti informa che l'applicativo è andato in crash e la tua azienda sta perdendo soldi. Indovina chi deve risolvere il problema, ADESSO?
Il sistema di monitoraggio indica che il carico della CPU è molto alto e ben presto ti accorgi di aver dimenticato di mettere un'operazione costosa in cache.
"Ok, risolto!", esclami soddisfatto a te stesso, proprio prima di notare che l'applicativo è andato giù DI NUOVO!
Beh, amico mio, benvenuto nel fantastico mondo del problema di Cache Stampede! (Ovviamente, c'è anche il "Problema della Moglie Indiavolata" che ti osserva con sguardo inferocito dalla porta della stanza).
Ora, poiché ci teniamo al tuo matrimonio, proveremo a supportarti spiegandoti come puoi risolvere un problema del genere usando il meccanismo di Asynchronous Batching, dandoti un esempio pratico in tempo reale in NodeJS. Ed attenzione, c'è un bonus gratuito! Ti racconteremo anche come implementare un sistema di plugin per la tua libreria di caching attraverso il Microkernel Pattern.
Un solo disclaimer: se REALMENTE salviamo il tuo matrimonio, decliniamo ogni responsabilità dai problemi futuri che questo potrebbe causarti.
Conoscenze pregresse richieste ai partecipanti:
Knowledge of asynchronous programming, batching concepts - language used will be NodeJS but concepts can be applied to everything else.
Being married is a plus but not mandatory.
Agenda:
Stampede Prevention solved through asynchronous batching
Hands on implementation of asynchronous batching
Microkernel Architecture for plugin development
Hands on development of a plugin for our open source caching library