2012-03-17 16 views
6

Estamos desarrollando una aplicación web ASP.NET en un sistema de equilibrio de carga. Ahora nos enfrentamos a varios problemas con el sistema de caché actual:Solución de caché ASP.NET para el sistema de equilibrio de carga

  1. No está sincronizado entre los servidores web. Hay algunas soluciones tales como la implementación de un servicio de caché separada de SQL caché dependencia o:
    • SQL caché Dependencia: es estable, pero bastante lento para nuestra aplicación
    • Separado caché del servicio: es más rápido, pero no es estable porque vamos a tener problema de cuello de botella. ¿Tienes alguna solución para este problema?
  2. Cuando actualizamos el sistema de base de datos a servidores en clúster, ¿cuál es la solución estable para el sistema de caché?

Gracias.

+1

Windows Server AppFabric – AFD

Respuesta

2

Utilizamos memcached y no hemos tenido problemas con él. Muy confiable y bastante simple de implementar. ¿Qué quiere decir que tendrá un problema de cuello de botella con una solución de almacenamiento en caché de terceros? Lo hemos estado ejecutando durante aproximadamente un año más o menos y hemos tenido una gran experiencia con él.

Edit: Nuestro entorno está equilibrado de carga en 3 servidores web y 2 servidores SQL.

La otra razón yo preferiría tercera parte se debe a que se puede almacenar en caché cualquier cosa en él, objetos, datos, etc.

Configuración: http://syntaxhelp.com/ASP.NET/Cache/memcache Referencias: http://code.google.com/p/memcached/wiki/NewStart

+0

Gracias por su participación, Robert. ¿Implementaste Memcache en los 3 servidores web? ¿Hay alguna manera de sincronizar Memcache entre ellos? –

+1

Ej .: Cuando se actualiza un registro de datos (de 1 servidor web), ¿cómo notifico a los otros 2? –

+0

No, no se está ejecutando en los tres servidores, creo que lo tenemos en ejecución en un servidor separado (no estaba involucrado en la implementación) por lo que cuando se actualiza un registro no hay actualización de los demás en cuanto a lo que se almacena en caché. – Robert

3

han visto NCache. Es gratis (la versión Express. Para Professional y Enterprise solo Developer Machine es gratis) y compatible con asp.net.

NCache es una memoria caché distribuida en memoria extremadamente rápida y escalable que almacena en caché los datos de la aplicación. NCache también almacena Sesiones de estado de sesión ASP.NET en granjas web. Funciona con Loadbalancer y es simple de configurar.

Cuestiones relacionadas