Introducción a los NCache

NCache es un caché distribuido en memoria de código abierto para aplicaciones basadas en .NET y Java. NCache lo ayuda a lograr velocidades transaccionales extremadamente rápidas para sus aplicaciones de misión crítica con facilidad de escalabilidad lineal.

Almacén de datos en memoria distribuido

NCache es un almacén de datos de código abierto extremadamente rápido y escalable debido a su naturaleza en memoria y arquitectura distribuida. Es el único 100% .NET/ .NET Core solución en el mercado, ya que otras soluciones están basadas en C++ y Linux, por lo que se adapta muy bien a la pila .NET de sus aplicaciones. Es la solución de almacenamiento en caché favorita en la comunidad de desarrolladores de .NET, lo que la convierte en líder del mercado de .NET durante los últimos 15 años.

Qué aplicaciones .NET necesitan NCache?

Lo más probable es que se beneficie al usar NCache si su aplicación pertenece a una de las siguientes categorías:

  • Aplicaciones Web (ASP.NET/ASP.NET Core)
  • Aplicaciones de servicios web (.NET)
  • Aplicaciones de microservicios (.NET)
  • Otras aplicaciones de servidor (.NET)

Por qué lo necesitas NCache?

Manejo de cargas de transacciones extremas: Su aplicación necesita procesar cantidades extremas de transacciones durante las horas pico. NCache le permite manejar toda esa carga transaccional sin ningún tiempo de inactividad.

Sitios web orientados al cliente: Las empresas minoristas que realizan la mayoría de las transacciones principalmente a través de un sitio web orientado al cliente o una tienda en línea o un negocio de comercio electrónico que vende sus productos en línea, pueden confiar en NCache para alta disponibilidad. Igualmente, NCache puede beneficiar a las principales aerolíneas que venden boletos y reservas desde el sitio web o un sitio web de juegos o apuestas en línea en Europa donde los clientes inician sesión durante los principales eventos deportivos para realizar apuestas en tiempo real.

Empresas de procesamiento en segundo plano: Una empresa que necesita procesar muchas transacciones en segundo plano, como bancos que procesan transferencias de clientes o una compañía de tarjetas de crédito que supervisa las transacciones de sus clientes para detectar fraudes. De manera similar, una empresa de logística, que monitorea muchos vehículos en tiempo real o una empresa de servicios públicos que monitorea muchos dispositivos en tiempo real y analiza su comportamiento, puede usar NCache para garantizar el almacenamiento en caché de datos a prueba de fallas.

Si usted es una de estas empresas o una multitud de otras empresas similares, entonces no puede permitirse el lujo de que su aplicación se ralentice durante las horas pico porque el costo para su empresa es muy alto. Desafortunadamente, muchas aplicaciones se ralentizan porque la base de datos no puede hacer frente a cargas de transacciones tan altas y se convierte en un cuello de botella. La razón es que, a diferencia del nivel de la aplicación, donde puede agregar más servidores a medida que crece la carga de transacciones, no puede agregar más servidores al nivel de su base de datos.

NCache - La solución

La solución a este problema es utilizar NCache para almacenar en caché los datos de la aplicación y también para almacenar todos los datos transitorios o temporales en él. A diferencia de su base de datos, NCache se distribuye y le permite crear un nivel de almacenamiento en caché de dos o más servidores y agrupa la memoria y la CPU de todos los servidores de caché en una capacidad lógica. NCache luego le permite agregar más servidores a este nivel de almacenamiento en caché a medida que crece la carga de transacciones.

NCache

Como resultado, NCache puede escalar linealmente y nunca se convierte en un cuello de botella de rendimiento. Además de esto, desde NCache está totalmente en memoria, es súper rápido. Puedes usar NCache de tres maneras diferentes.

  1. Puede almacenar en caché los datos de la aplicación en NCache para reducir los viajes de su base de datos entre un 80 y un 90 %, asegurándose de que su base de datos ya no sea un cuello de botella en el rendimiento.
  2. Puede almacenar su ASP.NET/ASP.NET Core Sesiones en NCache porque es extremadamente rápido y escalable y también porque replica sesiones en múltiples servidores para alta disponibilidad
  3. Puedes usar NCache como una plataforma de eventos y mensajería Pub/Sub simple pero poderosa y coordina el trabajo entre múltiples aplicaciones de servidor sin problemas.

Características más importantes

Echemos un vistazo rápido a las características que NCache ofrece para garantizar la escalabilidad lineal mediante la eliminación de cuellos de botella de rendimiento.

Característica: mantener el caché actualizado

NCache tiene varias formas de ayudarlo a mantener sus datos de caché lo más actualizados posible sin que su aplicación tenga que realizar un seguimiento de todo esto. Puede usar vencimientos absolutos y deslizantes para eliminar automáticamente los datos del caché.

Característica: Búsqueda SQL

También puedes tener NCache se sincroniza automáticamente con la base de datos SQL si otras aplicaciones modifican los datos en la base de datos. También puede especificar relaciones uno a varios y uno a uno de los datos en la memoria caché para que no se viole la integridad de los datos cuando se actualice la memoria caché.

Si está poniendo una gran cantidad de datos en el caché, entonces NCache le permite buscarlo en función de los atributos de objeto, grupos, etiquetas y etiquetas con nombre. Esto hace que sea realmente fácil encontrar sus datos. Puede usar consultas SQL o LINQ para buscar en el caché y NCache también crea índices para agilizar tus búsquedas.

Característica: Código del lado del servidor

NCache es la única solución en el espacio .NET que le brinda capacidad de código del lado del servidor. Puede implementar Read-Thru para permitir que su caché obtenga los datos de su base de datos y cuando combina esto con la función de carga automática, NCache recarga automáticamente los datos en las exploraciones o en la sincronización de la base de datos. También puede implementar Write-Thru para permitir que el caché actualice su base de datos por usted.

Write-behind actualiza la base de datos de forma asíncrona para que su aplicación no tenga que esperar. Finalmente, un cargador de caché precarga automáticamente el caché cuando lo inicia.

Característica: caché de cliente (velocidad InProc)

NCache es la única solución en .NET que proporciona una característica de caché de cliente también llamada "Caché cercano". Le brinda un rendimiento de InProc como si los datos de la memoria caché se mantuvieran dentro del proceso de su aplicación. El caché del cliente es un caché local para su aplicación, pero permanece sincronizado con el nivel de almacenamiento en caché para todas las actualizaciones de otras aplicaciones u otros usuarios. El caché del cliente le da a su aplicación un impulso significativo en el rendimiento.

Velocidad en proceso

Característica: replicación WAN de caché

Si su aplicación se implementa en varios centros de datos, varias regiones de Azure o varias zonas de disponibilidad de AWS, entonces NCache le permite replicar el caché a través de la WAN sin ralentizar su aplicación en ninguna ubicación. Puedes implementar NCache en una configuración de centro de datos Activo-Pasivo o Activo-Activo.

Activo pasivo
Activo pasivo
Activo-Activo
Activo-Activo

Opciones de implementación

.NET Framework Soporte

Como tu ya sabes, NCache es 100% .NET / .NET Core solución, veamos qué tipo de compatibilidad con .NET tiene y también veamos las diferentes formas en que puede implementar NCache. NCache proporciona un cliente de caché con soporte completo de ambos .NET Framework con cosas como:

  • Entidad Framework 6.x
  • NHibernate Cache
  • Sesión ASP.NET
  • Ver estado
  • Caché de salida
  • ASP.NET SignalR

.NET Core Soporte

.NET Core, NCache apoya:

  • Caché central de EF
  • ASP.NET Core Sesión
  • Caché de respuestas
  • IDistributedCacheIDistributedCache
  • ASP.NET Core SignalR

NCache Servidor (100% .NET)

Al igual que el cliente de caché, NCache el servidor también es 100% .NET / .NET Core. Ninguna otra solución tiene esto ya que otras son C++ o Linux. NCache El servidor es compatible con .NET y .NET Core y a través del .NET core Edición, puede implementar NCache en las siguientes capacidades:

  • Servidor Windows/NanoServidor/Linux
  • Instalación local en Windows y Linux
  • Como VM en la nube de Azure y AWS a través de sus mercados
  • Como caché administrado Cloud Service Clúster en Azure y AWS a través de NCachepropio portal en la nube
  • Descargue una imagen acoplable de NCache desde el centro de la ventana acoplable
  • Cree su propia imagen de la ventana acoplable del cliente de NCache a través de archivos docker

¿Qué hacer a continuación?

© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.