2012-03-17 19 views
6

Stiamo sviluppando un'applicazione Web ASP.NET sul sistema di bilanciamento del carico. Ora ci troviamo di fronte a diversi problemi con il sistema di cache corrente:Soluzione cache ASP.NET per il sistema di bilanciamento del carico

  1. Non è sincronizzato tra i server web. Ci sono alcune soluzioni come ad esempio SQL Cache dipendenza o l'attuazione di un servizio cache separate:
    • SQL Cache Dipendenza: è stabile, ma piuttosto lento per la nostra applicazione
    • Servizio cache separata: è più veloce, ma non è stabile perché avremo problema al collo di bottiglia. Avete qualche soluzione per questo problema?
  2. Quando si aggiorna il sistema di database su server in cluster, qual è la soluzione stabile per il sistema di cache?

Grazie.

+1

Windows Server AppFabric – AFD

risposta

2

Usiamo memcached e non abbiamo avuto problemi con esso. Molto affidabile e abbastanza semplice da implementare. Che cosa vuoi dire che avrai un problema di bottiglia con una soluzione di caching di terze parti? Lo abbiamo gestito per circa un anno ora e ne ho avuto una grande esperienza.

Modifica: Il nostro ambiente è bilanciato in carico su 3 server Web e 2 server SQL.

L'altra ragione io preferirei di terze parti è perché è possibile memorizzare nella cache qualsiasi cosa in esso, gli oggetti, i dati, ecc

Setup: http://syntaxhelp.com/ASP.NET/Cache/memcache Riferimenti: http://code.google.com/p/memcached/wiki/NewStart

+0

Grazie per la condivisione, Robert. Hai implementato memcache su tutti e 3 i server web? C'è un modo per sincronizzare memcache tra di loro? –

+1

Es: Quando un record di dati viene aggiornato (da 1 server Web), come posso avvisare gli altri 2? –

+0

No, non è in esecuzione su tutti e tre i server, credo che sia in esecuzione su un server separato (non ero in implementazione), quindi quando un record viene aggiornato non si aggiorna gli altri su ciò che è memorizzato nella cache. – Robert

3

Avete visto NCache. È gratuito (la versione Express. Per Professional e Enterprise, solo la Developer Machine è gratuita) e asp.net compatibile.

NCache è una cache distribuita in memoria estremamente veloce e scalabile che memorizza nella cache i dati dell'applicazione. NCache memorizza anche sessioni di stato sessione ASP.NET in web farm. Funziona alla griglia con Loadbalancer e semplice da configurare.

Problemi correlati