Caching distribuito sul percorso verso la scalabilità

Di Iqbal Khan

Se stai sviluppando un'applicazione ASP.NET, servizi Web o un'applicazione HPC (High-Performance Computing), è probabile che si verifichino gravi problemi di scalabilità quando si tenta di ridimensionare e caricare di più l'applicazione. Con un'applicazione ASP.NET, si verificano colli di bottiglia in due archivi dati. Il primo sono i dati dell'applicazione che risiedono nel database e l'altro sono i dati dello stato della sessione ASP.NET che vengono in genere archiviati in una delle tre modalità (InProc, StateServer o SqlServer) fornite da Microsoft. Tutti e tre hanno grossi problemi di scalabilità.

I servizi Web in genere non utilizzano lo stato della sessione, ma presentano colli di bottiglia di scalabilità quando si tratta di dati dell'applicazione. Proprio come le applicazioni ASP.NET, i servizi Web possono essere ospitati in IIS e distribuiti in una Web farm per la scalabilità.

Anche le applicazioni HPC progettate per eseguire elaborazioni parallele massicce presentano problemi di scalabilità perché l'archivio dati non si adatta allo stesso modo. L'HPC (chiamato anche grid computing) utilizza tradizionalmente Java, ma man mano che .NET guadagna quote di mercato, sta diventando sempre più popolare anche per le applicazioni HPC. Le applicazioni HPC vengono distribuite su centinaia e talvolta migliaia di computer per l'elaborazione parallela e spesso devono operare su grandi quantità di dati e condividere risultati intermedi con altri computer. Le applicazioni HPC utilizzano un database o un file system condiviso come archivio dati ed entrambi non sono molto scalabili.

Leggi l'articolo completo

Caching distribuito

Il caching è un concetto ben noto sia nel mondo dell'hardware che del software. Tradizionalmente, la memorizzazione nella cache è stata un meccanismo autonomo, ma non è più praticabile nella maggior parte degli ambienti perché le applicazioni ora vengono eseguite su più server e in più processi all'interno di ciascun server.

La memorizzazione nella cache distribuita in memoria è una forma di memorizzazione nella cache che consente alla cache di estendersi su più server in modo che possa aumentare in dimensioni e capacità transazionale. La memorizzazione nella cache distribuita è diventata fattibile ora per una serie di ragioni. Innanzitutto, la memoria è diventata molto economica e puoi riempire i computer con molti gigabyte a prezzi usa e getta. In secondo luogo, le schede di rete sono diventate molto veloci, con 1 Gbit ormai standard ovunque e 10 Gbit che stanno guadagnando terreno. Infine, a differenza di un server di database, che di solito richiede una macchina di fascia alta, il caching distribuito funziona bene su macchine a basso costo (come quelle utilizzate per i server Web), consentendo di aggiungere facilmente più macchine.

Leggi l'articolo completo
© Copyright Alachisoft 2002 - . Tutti i diritti riservati. NCache è un marchio registrato di Diyatech Corp.