Domanda

Ho un'applicazione ASP.NET che fa ampio uso dell'API della cache ASP.NET per la memorizzazione nella cache dei dati di uso comune. Inoltre, sto usando la dipendenza della cache sql basata sul polling per tenere traccia della scadenza.

Lo svantaggio del progetto attuale è che, nell'ambiente della Web farm, ogni server Web ha la propria cache di dati che non è condivisa tra i server.

Esiste un modo per migrare semplicemente il codice per condividere la cache di dati su più server?

Ho pensato di usare memcached, tuttavia, che non funzionerebbe con la dipendenza dalla cache sql, giusto?

Altre soluzioni?

È stato utile?

Soluzione

Hai guardato AppFabric di Windows Server (precedentemente Velocity).

http://blogs.msdn.com/velocity/

Altri suggerimenti

Puoi utilizzare le seguenti opzioni -

  1. Utilizza l'approccio descritto qui per sincronizzare i dati tra web farm: http://www.eggheadcafe.com/articles/20030420.asp

  2. Usa l'approccio di cache distribuito

  3. Usa cache della libreria aziendale.

Mi sembra che Windows Server AppFabric è esattamente ciò che stanno cercando. (AKA "Velocità"). Dalla documentazione introduttiva :

  

AppFabric di Windows Server fornisce a   applicazione distribuita in memoria   piattaforma cache per lo sviluppo   scalabile, disponibile e   applicazioni ad alte prestazioni.   AppFabric fonde la memoria tra più   computer per dare un unico unificato   visualizzazione cache per le applicazioni.   Le applicazioni possono archiviare qualsiasi   oggetto CLR serializzabile senza   preoccuparsi di dove arriva l'oggetto   immagazzinato. La scalabilità può essere raggiunta da   semplicemente aggiungendo più computer su   richiesta. La cache consente anche   copie dei dati da archiviare in   cluster, proteggendo così i dati da   fallimenti. Funziona come un servizio   accessibile tramite la rete. Nel   Inoltre, AppFabric di Windows Server   fornisce una perfetta integrazione con   ASP.NET che abilita la sessione ASP.NET   oggetti da archiviare in   cache distribuita senza dovere   scrivere su database. Questo aumenta   sia le prestazioni che la scalabilità   di applicazioni ASP.NET.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top