NCache es una solución de optimización del rendimiento que ofrece escalabilidad y alta disponibilidad. Proporciona varias topologías de almacenamiento en caché para proporcionar escalabilidad lineal junto con consistencia y confiabilidad de los datos. Estas topologías están diseñadas para atender diferentes necesidades de almacenamiento en caché de aplicaciones que operan en un entorno de almacenamiento en caché pequeño de dos servidores hasta clústeres de almacenamiento en caché enormes con cientos de servidores de almacenamiento en caché.
Las siguientes son las características de las topologías de almacenamiento en caché que NCache ofrece:
Caché replicado
La topología garantiza la confiabilidad de los datos a través de la replicación de datos en varios servidores de caché. El Caché replicado es extremadamente rápido y escalable para operaciones de lectura. Sin embargo, no es muy escalable para las operaciones de escritura, ya que son síncronas con todos los servidores del clúster. La topología está pensada para entornos de almacenamiento en caché más pequeños donde la cantidad de operaciones de lectura es mayor que las operaciones de escritura. A continuación se muestra una breve descripción general de cómo funciona la topología de caché replicada.
¿Cómo funciona la topología de caché replicada?
La topología de caché replicada ofrece alta disponibilidad de datos y admite la adición y eliminación dinámica de servidores sin detener la caché existente.
A diferencia de las topologías Partición y Réplica de partición, cada aplicación cliente se conecta a un solo nodo de servidor en función de un algoritmo de equilibrio de carga determinado por los servidores de caché. Cuando el servidor conectado deja de funcionar, la aplicación cliente se conecta al siguiente servidor de la lista.
Topología de caché duplicada
El Caché reflejada es un clúster de caché activo/pasivo de 2 nodos diseñado para entornos de almacenamiento en caché más pequeños. La topología ofrece confiabilidad y disponibilidad de datos a través de replicación/espejo asíncrono desde el nodo activo al nodo pasivo.
¿Cómo funciona la topología de caché duplicada?
En la topología Mirrored Cache, los nodos de cliente solo se conectan al nodo de servidor activo en el clúster, para todas las operaciones de lectura y escritura. Si el nodo del servidor activo deja de funcionar, las aplicaciones cliente se conectan automáticamente con el nodo anteriormente pasivo. Esta compatibilidad con la conmutación por error garantiza que Mirrored Cache esté siempre en funcionamiento. La topología ofrece duplicación asíncrona para operaciones de escritura que ayuda a mejorar el rendimiento de la aplicación, ya que se realizan escrituras múltiples como una operación BULK en el nodo del servidor pasivo.
Caché con particiones
Es una de las topologías de almacenamiento en caché más rápidas y escalables que ofrece NCache. La topología es igualmente eficiente para las operaciones de lectura y escritura. Logra escalabilidad lineal agregando servidores al clúster. A continuación se muestra una breve descripción general de cómo funciona la topología de caché dividida.
¿Cómo funciona la topología de caché particionada?
En la topología de caché con particiones, la caché se divide en porciones en tiempo de ejecución con una sola partición para cada servidor de caché. Estas particiones forman colectivamente un caché agrupado con 1000 cubos, distribuidos equitativamente en todas las particiones. El clúster crea un mapa de distribución que contiene el mapeo de depósitos en diferentes particiones. Este mapa garantiza una comunicación significativa entre los nodos del cliente y del servidor.
La topología también proporciona una alta disponibilidad de datos al conectar todas las aplicaciones cliente a los servidores de caché. Para que la aplicación pueda obtener los datos requeridos incluso si el servidor conectado se cae, solicitando a los otros servidores.
Topología de caché de réplica de partición
Esta es la topología de almacenamiento en caché más popular en NCache. Como proporciona a los usuarios lo mejor de ambos mundos, con la escalabilidad lineal y la alta confiabilidad de los datos. Esta topología es casi tan escalable como la topología con particiones y proporciona un rendimiento prometedor y alta disponibilidad de datos con modos de replicación sincronizados y asincronizados. A continuación se muestra una breve descripción general de cómo funciona esta topología.
¿Cómo funciona la topología de caché de réplica de partición?
Junto con la creación de particiones dinámicas, la topología también crea réplicas dinámicas de estas particiones en diferentes nodos de servidor, que sirven como respaldo cuando hay una falla de conexión o un escenario de nodo inactivo. En esos casos, NCache obtiene datos del nodo de réplica y redislo homenajea. Sin embargo, estas réplicas limitan la escalabilidad del clúster, ya que cada nodo de servidor agregado se dividirá en particiones activas y réplicas.
La topología ofrece dos modos de replicación; sincronizado y asincronizado. En la replicación asíncrona, todas las réplicas se crearán en segundo plano, lo que dará como resultado cero retrasos en el rendimiento. Pero esto implica una pequeña posibilidad de pérdida de datos cuando la réplica no funciona, ya que los datos no llegarán allí. Para evitar tal pérdida, la topología también ofrece replicación sincronizada donde hay creación de réplicas en tiempo de ejecución y cada operación fallida en la réplica también se considerará fallida en la partición. La topología proporciona conectividad de servidor completa para garantizar una alta disponibilidad de datos.
Topología de caché de cliente
En Caché de cliente topología, el caché reside muy cerca de su aplicación y le permite almacenar rápidamente los datos del caché distribuido. La caché del Cliente también se puede considerar una "caché encima de la caché". Es adecuado para aplicaciones de lectura intensiva, pero si su aplicación tiene que realizar la misma cantidad de operaciones de lectura y escritura, funcionará más lentamente, porque las operaciones de escritura requerirán la actualización de los datos en dos lugares.
Aunque la memoria caché del cliente es local, no es independiente, ya que siempre está sincronizada con la memoria caché en clúster. Esta sincronización garantiza que los datos en la memoria caché del cliente estén siempre actualizados. La siguiente es una descripción general de las principales características de la topología de Caché de cliente.
¿Cómo funciona la topología de caché de cliente?
La caché del cliente existe en modo InProc (dentro de su proceso) o en modo OutProc (local al servidor web/aplicación). En ambos casos, mejora el rendimiento de su aplicación. El modo InProc le permite almacenar en caché objetos en su "montón de aplicaciones", lo que le brinda "Velocidad de InProc" en otro caché distribuido. Lo mejor de Client Cache es que no implica ningún cambio de código en su aplicación. En su lugar, simplemente conéctelo a través de un cambio de configuración.
La topología ofrece sincronización de datos optimista y pesimista. La sincronización predeterminada en la caché del Cliente es optimista, donde NCache El cliente asume que todos los datos que tiene la memoria caché del cliente son la copia más reciente. En la sincronización pesimista, Cache Client primero verifica en Clustered Cache si tiene una versión más reciente de un elemento almacenado en caché. Si es así, el cliente lo obtiene, lo coloca en la memoria caché del cliente y lo devuelve a la aplicación del cliente.
Conclusión
NCache ofrece una variedad de topologías de almacenamiento en caché para satisfacer las diferentes necesidades de almacenamiento en caché de sus clientes. Todos ellos son distribuidos, altamente escalables y confiables. Dependiendo del tamaño de sus datos, la naturaleza de las operaciones que necesita realizar y la cantidad de transacciones que debe realizar, puede elegir cualquiera de las topologías mencionadas. Para explorar más sobre NCache topologías no dude en descargar la versión de prueba gratuita de 60 días de NCache.