Instrucciones de uso NCache as AppFabric Alternative

Seminario web grabado
Por Ron Hussain y Zack Khan

AppFabric ha llegado al final de su vida útil y si está pensando a dónde ir desde aquí, entonces debe ver este seminario web. Este seminario web le muestra diferentes formas de migrar sus aplicaciones .NET desde AppFabric a NCache.

NCache es un .NET/ extremadamente rápido y escalable.NET Core sistema de almacenamiento en caché distribuido y proporciona un contenedor para AppFabric que te permite migrar a NCache con cambios de código mínimos o nulos en sus aplicaciones. Su Appfabric Las API utilizadas en sus aplicaciones comienzan a funcionar con NCache perfectamente Además, puede comenzar a usar muchas otras API y funciones que ofrece NCache para la funcionalidad avanzada de almacenamiento en caché que falta en AppFabric.

Esto es lo que cubre este seminario web:

  • Visión general de AppFabric y sus problemas de fin de vida
  • ¿Por qué NCache es la mejor opción y alternativa a AppFabric
  • Diferentes formas de migrar a NCache
    • A través del envoltorio sin cambio de código
    • directo NCache Llamadas API
    Funciones avanzadas de almacenamiento en caché distribuido que solo NCache ofrece
  • Ejemplos prácticos y demostraciones de migración

El tema de hoy va a ser: “¿Cómo puedes usar NCache como una AppFabric ¿alternativa?" El seminario web de hoy cubrirá una gran variedad de temas. En particular, una visión general de AppFabric y sus problemas de fin de vida. Así como, a por qué NCache es tu mejor alternativa a AppFabric y cualquier característica avanzada de almacenamiento en caché distribuido que ofrecemos, que puede usar en lugar de lo que AppFabric solía ofrecer un ejemplo práctico y una demostración de cómo puede migrar desde AppFabric a NCache?

Ahora, tenga en cuenta que este es un seminario web en vivo, por lo que, en cualquier momento, puede usar la pestaña de preguntas para insertar cualquier pregunta, consulta o inquietud que pueda tener y podremos atenderle. Y, finalmente, al final del seminario web, también tendremos una sesión de preguntas y respuestas por separado, por lo que, si alguien tiene alguna pregunta que quiera guardar para el final, también podemos comunicarnos con usted. Muy bien, sin más preámbulos, Ron, tienes la palabra.

Entonces, el tema de hoy es muy específico. Ya sabes, va a cubrir AppFabric problemas de fin de vida y dado que Microsoft mismo ha recomendado que debe migrar fuera de esta tecnología. Entonces, si está usando un AppFabric aplicación, si todavía es parte de la arquitectura de su aplicación, le presentaríamos algunas opciones con NCache para migrar fuera de eso y, ya sabes, te mostraré lo suave que puede ser esa transición. Qué fácil es migrar fuera de AppFabric y poder usar NCache como está y luego poder usar algunas características extendidas de NCache que AppFabric carece por completo. Asi que, AppFabric es un producto muy limitado. Solía ​​​​funcionar muy bien, pero está al final de su vida útil, así que no se está respaldando. Ya no se actualiza. Por lo tanto, ya es hora de que migre fuera de él.

Entonces, hoy cubriremos todos los detalles. ¿Cuáles son las diferentes opciones con respecto al uso NCache, como un producto alternativo para App Fabric y lo fácil que es migrarlo y cuáles son los beneficios que obtendrá si comienza a usar NCache. Entonces, tenemos algunos detalles técnicos que cubrir.

Visión general de AppFabric

Entonces, hablemos de AppFabric en general. Estoy bastante seguro de que la mayoría de ustedes ya saben AppFabric y su arquitectura. Si se usa en su entorno, debe tener experiencia práctica con AppFabric. Es un sistema de almacenamiento en caché distribuido In-Memory .NET. Se utiliza principalmente como caché distribuida gratuita, que forma parte de Windows Server. Se utiliza principalmente para aplicaciones web, servicios de nivel medio y cualquier otra aplicación .NET que necesite almacenamiento en caché para ahorrar viajes a la base de datos. Fue lanzado y apoyado por Microsoft. En 2010 se lanzó 1.0 y 1.1 se lanzó en 2015 y esa fue la última versión de AppFabric. La API de almacenamiento en caché, cómo se puede utilizar AppFabric? Principalmente será la aplicación .NET, que consumirá AppFabric Data Class y luego exponer el Wrapper, ya sabes, exponer las API de AppFabric a través de esa biblioteca. También puede utilizar algunos proveedores, que AppFabric solía tener. Proveedor de estado de sesión de ASP.NET y proveedor de almacenamiento en caché de resultados de ASP.NET. Por lo tanto, estas no eran opciones de cambio de código, que podría usar, si no desea usar el almacenamiento en caché de datos, si está más enfocado en el almacenamiento en caché específico de la web, estas eran dos funciones, que están disponibles sin ningún cambio de código.

AppFabric Diagrama de arquitectura

Aquí está el desglose arquitectónico. Es muy simple, que tiene sus servidores de caché, que se denominan Cache Hosts en lo que respecta a AppFabric. Le permite formular un clúster de caché. Con algunas limitaciones, existía un concepto de regla de la mayoría. Debe tener al menos 3 servidores y, si alguno de ellos falla, viola la regla de la mayoría. Por lo tanto, la alta disponibilidad y la confiabilidad de los datos pueden verse comprometidas y luego también existía el concepto de Lead Host.

AppFabric Diagrama de arquitectura

Pero, la idea aquí es que tiene servidores de caché, que alojan su caché. Formulan un repositorio para el almacenamiento en caché y luego su aplicación puede conectar este repositorio de caché, respaldado por múltiples servidores y le permite realizar operaciones de almacenamiento en caché.

Solía ​​tener herramientas de administración de caché basadas en PowerShell. La configuración de caché y la configuración de clúster generalmente se encontraban en una ubicación de almacenamiento, un sistema de archivos o una base de datos. Entonces, esa era otra dependencia dentro AppFabric. Entonces, hay una descripción general de cómo, ya sabes, los servidores de aplicaciones habilitados para caché o los clientes de caché pueden conectarse a este servidor de caché, ya sabes, quién alojará realmente la caché en tu entorno.

AppFabric es el final de la vida, ya. El primer anuncio se produjo en abril de 2016. Microsoft comenzó a recomendar que debería migrar fuera de esta tecnología porque ya no será compatible. Anunciaron el fin del ciclo de vida del soporte de ese producto, para este producto en abril de 2016 y luego finalizaron el soporte principal dentro de un año. entonces 2017 fue el final de su apoyo principal, en la medida en que, AppFabricEl soporte oficial de Microsoft se refiere y luego el soporte extendido. Han estado extendiendo el soporte durante algunos años, pero la última fecha actual será 2022.

Entonces, básicamente esa es la y esperamos que esta podría ser la última extensión que Microsoft ha dado. Por lo tanto, recomiendan encarecidamente que migre fuera de esta tecnología. No es de código abierto. Por lo tanto, no tiene ninguna comunidad que lo respalde también. Recursos en línea, hasta donde usted sabe, cuando estaba preparando este seminario web obteniendo una AppFabric La documentación de ayuda fuera del portal de Microsoft es muy difícil, ya que comienza a usarlo.

Por lo tanto, es muy difícil obtener recursos de ayuda. El soporte oficial ya no existe. El soporte extendido limitado está disponible. No se proporcionarán más correcciones de errores. No se agregarán más mejoras al conjunto de funciones. Si está utilizando plataformas más nuevas, como, .NET Core, la compatibilidad de la plataforma, las actualizaciones de seguridad no van a ser parte de esto. Entonces, es esencialmente el final de la vida. Es un producto de estante obsoleto y es por eso que Microsoft recomienda que lo migre y use alternativas y es por eso que estamos haciendo este seminario web también, para que tenga una opción de migración fácil, como parte de NCache, como su opción de reemplazo.

Es muy arriesgado usar App Fabric principalmente, porque Microsoft, el proveedor principal, ha dado recomendaciones para migrar fuera de él. Las implementaciones de producción están en riesgo, mientras hablamos, debido a la falta de soporte, corrección de errores, mejoras, compatibilidad o actualizaciones de seguridad. Te estas yendo. El costo de que algo falle es muy alto, porque puede estar usándolo en una aplicación de misión crítica y si esa aplicación está usando AppFabric y si eso pasa por un problema o se cae, no sabes a dónde ir. Por lo tanto, puede afectar su negocio y eso también puede afectar la experiencia general del usuario.

Por lo tanto, le recomendamos que realice la migración. Específicamente, cuando tiene opciones de migración tan fáciles disponibles que NCache ofertas Por lo tanto, le recomendamos encarecidamente que complete este proyecto con prioridad y, de hecho, en este seminario web, hacia el final de este seminario web, estará totalmente equipado para utilizar un AppFabric aplicación y le mostraré una guía paso a paso para migrar fuera de eso, ya sabe, migrado AppFabric a NCache. Esa aplicación puede ser completamente, ya sabes, dejar de usar AppFabric y empezar a usar NCache y luego te mostraré lo simple que es. Es un proceso de tres pasos, que cubriré en este seminario web y que debería darle una muy buena idea, cómo comenzar a usar NCache como alternativa. ¿Alguna pregunta hasta ahora?

Entonces, esto fue solo un detalle introductorio. Algunos detalles sobre cómo AppFabric ¿llego a existir? ¿Cuáles son los problemas y cómo migrar realmente fuera de él?

NCache como opción de migración

¿Entonces NCache es una opción de migración. Es una elección muy natural. NCache es un producto .NET 100% nativo, que está en el mercado desde hace más de 15 años, con un historial de mercado completo, con mucha tracción, muchas implementaciones personalizadas reales que utilizan NCache en sus aplicaciones y tenemos clientes en todas partes, también en diferentes industrias.

  • Entonces, el primer beneficio que obtiene con respecto a la migración AppFabric a NCache es, que obtienes la plataforma Windows. Asi que, AppFabric es un producto basado en Windows, NCache también es un producto nativo basado en Windows. Entonces, tenemos un servidor de almacenamiento en caché basado en .NET, por lo que puede implementarlo de forma nativa en Windows. si estás usando AppFabric, es posible que esté utilizando cajas de 2012 o 2016. Por lo tanto, puede usar el mismo conjunto de sistemas operativos y aún así poder instalar NCache en las mismas cajas. Por lo tanto, no hay ningún requisito de hardware o sistema operativo específico que deba cumplir para migrar de otra tecnología. Entonces, eso es muy compatible con lo que ya tienes en tu entorno.
  • Es la caché distribuida de .NET más antigua y estable. Somos líderes del mercado en este espacio. Tenemos una gran base de clientes, que están usando NCache en sus aplicaciones .NET. Ya que, AppFabric también se basa en la API de .NET. Entonces, hace una elección muy natural, donde comienzas a usar NCache API o use nuestro enfoque de contenedor, que es una opción sin cambio de código y migra fuera de AppFabric y empezar a usar NCache. Es totalmente compatible. Derecha. Entonces, ese es el punto principal que planteamos en diapositivas anteriores que AppFabric es el final de la vida. No está siendo respaldado por ninguna comunidad. No es de código abierto. No hay apoyo oficial. El soporte extendido está disponible, pero eventualmente sería descontinuado. Entonces, estás en riesgo.
  • Con NCache, obtiene software totalmente compatible desde el servidor, así como desde el punto de vista del cliente. Si ve algún problema de rendimiento, algún problema de seguridad, algún error, cualquier cosa, se necesitan nuevas funciones, puede ponerse en contacto con nosotros y luego trabajaremos con usted.
  • Es mucho más potente y rico en funciones también.

Entonces, acabo de enumerar algunos de los factores más comunes, ya sabes, aquí, que debe considerar NCache como una, como una alternativa. Principalmente, debido a la compatibilidad con .NET y Windows. En segundo lugar, tiene un historial dentro de la industria o dentro de las aplicaciones .NET y es totalmente compatible. Nuestros equipos ofrecen opciones oficiales regulares y de soporte 24x7. Y hablaremos sobre cuáles son las diferentes funciones que puede ampliar. Por lo tanto, puede ampliar su caso de uso de almacenamiento en caché existente. Vemos clientes que vienen a nosotros y tienen un caso de uso para AppFabric pero cuando adoptan NCache quieren extender su caso de uso y comenzar a usar esas funciones avanzadas, que solo están disponibles en NCache y AppFabric carece por completo de esas características. Entonces, ese es otro factor que debes considerar. NCache es una opción de migración.

NCache Despliegue en Empresas

NCache implementación, en una empresa típicamente grande, así es como NCache parece. Tiene nuevamente un conjunto de servidores que alojan el clúster de caché y, a diferencia de AppFabric, no es necesario tener una regla de mayoría o un concepto de anfitrión principal. Es un clúster de caché con arquitectura peer-to-peer al 100 %. Utiliza el protocolo de agrupamiento basado en TCP/IP. Usted crea un clúster de caché en un equipo de servidores y estos contribuyen a la capacidad de manejo de solicitudes de las aplicaciones cliente, que están conectadas a él. Entonces, estos podrían ser su ASP.NET o ASP.NET Core Aplicaciones web. También está en una pila más nueva. .NET o .NET Core Servicios web o .NET Core Aplicaciones de servidor.

Entonces, en general, cualquier .NET, .NET Core o incluso aplicaciones Java, pueden conectarse a NCache y aprovechar NCache almacenamiento en caché Es muy sencillo.

Puedes empezar con 2 NCache Servidores para formular un clúster de caché y 2 es el mínimo para obtener características de alta disponibilidad y confiabilidad de datos. Incluso un solo servidor puede funcionar, pero le recomiendo encarecidamente que use al menos 2 NCache Servidores para aprovechar la alta disponibilidad y confiabilidad de los datos. Y es muy flexible. Le permite crear tantos cachés como necesite. El tamaño puede crecer, la memoria y luego hay muchas características que se obtienen como parte de la adopción de NCache.

Cubrimos esta sección de manera muy detallada en nuestro NCache webinar de arquitectura pero esta es más una diapositiva introductoria aquí, así que hágamelo saber si tiene alguna pregunta específica con respecto a NCache despliegue.

NCache se puede implementar en servidores dedicados separados, donde sus aplicaciones están en cajas separadas NCache está en cajas separadas o puede tener NCache y aplicaciones en las mismas cajas también. Entonces, alojamiento de caja de Windows Server NCache también puede actuar como su caja de cliente, una caja de servidor web. Es solo que su aplicación se implementa en la misma máquina donde NCache también está corriendo. Entonces, esa también es una posibilidad o puede tener un nivel separado de servidores de almacenamiento en caché y sus aplicaciones pueden estar en cajas separadas. Entonces, somos muy flexibles.

esta disponible en microsoft Azure, así como, AWS y en cualquier nube pública o privada. solo necesitas eso .NET Framework como requisito previo para NCache y eso es todo lo que necesita. Como dije, es un producto muy flexible y muy fácil de usar. En comparación con App Fabric, sería una transición natural de AppFabric a NCache si planeas adoptarlo.

Opciones de migracion

Entonces, a continuación, hablaré sobre las opciones de migración y les mostraré ejemplos prácticos para lograrlo.

Almacenamiento en caché de datos de aplicaciones

Entonces, para el almacenamiento en caché de datos, aunque discutimos que tenemos API .NET y luego tenemos sesiones y características de almacenamiento en caché de salida con AppFabric, entonces, este debe ser su caso de uso general con AppFabric. Si tiene una aplicación en vivo ejecutándose en este momento, es probable que el almacenamiento en caché de datos sea el caso de uso más común, que debe haber usado en sus aplicaciones, mientras usaba App Fabric.

  • Usar AppFabric Wrapper

    Entonces, hablemos sobre cómo migrar una aplicación usando AppFabric y empiezas a usar NCache como un reemplazo. Entonces, hay dos opciones. Hemos diseñado nuestro contenedor, lo hemos implementado y sin cambios en el código de la aplicación. No es necesario cambiar ningún código. Puedes empezar a usar NCache como reemplazo de AppFabric. Solo necesitas usar nuestro NuGet y actualice el espacio de nombres. Entonces, lo que hemos hecho es implementar nuestro contenedor alrededor AppFabric API, entonces, en su aplicación cada vez que haga AppFabric Llamadas API, detrás de escena que la implementación del contenedor toma esa llamada y comienza a llamar NCache y es una opción muy simple y fácil de usar, donde su aplicación existente, que le mostraría, cómo administrarla realmente. Voy a correr esto lado a lado y todos tus AppFabric Las API comenzarían a funcionar con NCache perfectamente No se necesitan cambios de código. Solo una biblioteca, cambio de espacio de nombres, haría el trabajo.

  • haciendo directo NCache Llamadas a API

    La segunda opción es hacer un directo NCache API llamar. En eso, haces cambios de código e introduces NCache La API se llama a sí mismo. Puedes empezar a reemplazar AppFabric API o puede empezar a ampliar las existentes AppFabric API y empiece a utilizar también las funciones ampliadas.

También puede usar estos dos enfoques uno al lado del otro. Por ejemplo, lo que ya tienes con AppFabric, puede usar nuestro envoltorio para cubrir esa base y luego puede usar nuestro Características. Características que faltan en AppFabric, puede comenzar a usarlo a través de nuestras API nativas.

NCache Enfoque de envoltura

Entonces, voy a demostrar estos dos aspectos de NCache con la ayuda de una aplicación de muestra. Entonces, este es nuestro enfoque de envoltura.

Antes de comenzar, permítame configurar el entorno y mostrarle cómo NCache se configura y lo fácil que es configurar NCache entorno de clúster. Entonces, para eso, voy a iniciar sesión en nuestro entorno de demostración.

NCache Enfoque de envoltura

  • Descargar NCache Envoltorio para AppFabric
  • Añada NCache Paquete de envoltorio Nuget
    AppFabric.Wrapper.NCache
  • Reemplaza AppFabric Espacio de nombres con NCache Wrapper
    /*Replace*/
    using Microsoft.ApplicationServer.Caching; 
    /*with */
    using Alachisoft.NCache.Data.Caching;
  • Ejecutar y probar la aplicación

Configuración del entorno y creación de un clúster de caché

Este es nuestro herramienta de gestión web. Se puede acceder a esto desde cualquier parte de su entorno. Podrían ser sus cajas de Cliente, cajas de Aplicación. Podría ser tu actual AppFabric Cajas de servidores. Solo necesitas instalar NCache en una o dos cajas y luego una vez NCache la instalación está completa, puede iniciar el proceso de administración web y puede configurar un clúster de caché.

Así que tengo NCache instalado en dos cajas aquí, que usaría como mis servidores de clúster de caché. Entonces, todo lo que necesita hacer es venir aquí en el caché agrupado. Por cierto, puede crear una caché agrupada, una caché local, una caché agrupada. Puede acceder a él desde la propia dirección IP.

Entonces, hace clic en Nuevo y luego puede nombrarlo, digamos, democache. Puedes nombrar cualquier cosa. NCache se basa en la serialización binaria y JSON, por lo que puede elegir cualquiera de estos formatos. Voy a ir con Binario y elegir Siguiente.

ya sabes, con NCache tenemos mucho topologías de almacenamiento en caché y le insto a que revise nuestro NCache seminario web de arquitectura, que cubre todas estas topologías en gran detalle.

¿Entonces Particionamiento de topología de réplica, si tengo que darle una descripción general rápida de esto, se basa en particiones que están respaldadas. Entonces, esta es nuestra topología de partición de réplica. Cada servidor tiene una partición de datos donde se conectan los clientes. Entonces, el servidor 1 y 2 albergan las particiones activas. Los elementos número 1, 2 están en el Servidor 1 y los elementos número 3 y 4 en el Servidor 2 y luego también tenemos una partición de respaldo donde el Servidor 1 tiene respaldo en 2 y el Servidor 2 tiene respaldo en el Servidor 1.

Topologías de almacenamiento en caché: caché con particiones y caché de réplica de partición

Entonces, en caso de que un servidor se caiga, la copia de seguridad se activa y no pierde ningún dato. Por lo tanto, cada servidor está respaldado en otros servidores en el clúster de caché y puede tener tantos servidores como necesite, en esta configuración y de manera similar, tenemos otras topologías, que le recomiendo que revise a través de nuestro seminario web de arquitectura. Entonces, Partitioned of Replica es lo que voy a elegir. Mantenga todo simple.

El modo de replicación entre la partición activa y su copia de seguridad en el otro servidor puede ser sincronizado o asíncrono. Voy a ir con Async porque es más rápido. La sincronización es más confiable, pero Async también es bastante rápido.

Y, aquí voy a especificar los servidores que alojarán mi clúster de caché. Entonces, tengo dos cajas 107 y 108.

Veamos si se pueden activar los parámetros basados ​​en caché, TCP/IP, para la comunicación entre los nodos del servidor y el desalojo. Dado que especificó un tamaño de caché aquí. En esta pantalla, también especifica el tamaño de la caché. Por lo tanto, también puede elegir que se lleve a cabo el Desalojo si su Caché se llena. Entonces, en ese caso, Cache puede eliminar algunos elementos más antiguos y dejar espacio para los elementos más nuevos.

Si estás usando NCache para almacenamiento en caché de sesión, como una migración de AppFabric a NCache, AppFabric Módulo de almacenamiento de sesiones para NCache En el módulo de almacenamiento de sesiones, le recomendamos que desactive el desalojo, porque esos son sus datos de usuario e incluso sus datos confidenciales, incluso si está utilizando las API de almacenamiento en caché de objetos, puede activar el desalojo solo si puede permitirse perder datos, si su caché se llena. Por lo tanto, siempre puede dar un tamaño de caché más grande también, por cierto, para mitigar este problema. Inicie este caché al finalizar. Inicie automáticamente este caché al iniciar el servicio. Por lo tanto, cada vez que el servidor se reinicia, debería volver a unirse automáticamente al clúster de caché, por lo que no hay tiempo de inactividad ni pérdida de datos. Un clúster funciona completamente, si tiene todos los miembros en funcionamiento, por lo que, al reiniciarse, debería volver a unirse automáticamente. No debes hacerlo manualmente y listo.

Así de fácil es configurar nuestro clúster de caché. Como puede ver, tenemos 107 y 108, democache está completamente funcionando.

Supervisión de estadísticas de caché

Y ahora puedo mostrarles algunas estadísticas. Estos son nuestros contadores de rendimiento de Windows. Entonces, nuevamente es una elección muy natural, donde tenemos un sistema de monitoreo integrado de Windows a través de los monitores de rendimiento de Windows.

Y también tenemos nuestra propia herramienta de monitoreo disponible, que utiliza los contadores de rendimiento de Windows, así como algunos parámetros de monitoreo, dentro del NCache solicitud. Por ejemplo, una cantidad de conexiones de clientes, alguna utilización, algunas estadísticas dentro del host de caché. Por lo tanto, hemos conectado completamente el clúster, las solicitudes por segundo, el promedio de microsegundos por caché para mostrarle la latencia, las adiciones, las recuperaciones, las actualizaciones, las eliminaciones por segundo, el tamaño de la caché, el gráfico de CPU, el gráfico de memoria, los datos totales en el recuento de caché y el tiempo de CPU. gastado por NCache, Memoria del sistema aquí y luego también los Procesos del cliente que están conectados.

Por lo tanto, es muy elaborado y, además, tiene un panel de control del cliente, una vista de informe del servidor y del cliente, y luego también puede agregar sus propios paneles. Digamos, si creo un nuevo tablero, debería llamarse, digamos, Api Logs, puedo seguir adelante y Crear y luego puedo arrastrar y soltar contadores desde aquí.

Por ejemplo, puedo ver operaciones de clúster, puedo ver adiciones por segundo. Entonces, solo puedo agregar los contadores que necesito, específicamente para monitorear NCache Grupo. Entonces, en este momento no hay ninguna aplicación cliente ejecutándose, así que voy a ejecutar una rápidamente y para eso solo voy a decir test-stress democache. Entonces, tan pronto como se ejecuta esta aplicación, toma algo de tiempo la primera vez. La ventana de PowerShell en este cuadro está ligeramente retrasada, pero tan pronto como esto se ejecute, ahí lo tienes, simulará alguna actividad ficticia en mi caché, ahí lo tienes y puedes ver las Solicitudes por segundo que ingresan.

Si traigo esto aquí, el promedio de microsegundos por operación de caché es poco menos de 100 microsegundos por operación y tenemos una buena combinación de adiciones por segundo, recuperaciones y actualizaciones. El tamaño de caché está creciendo, unos pocos megabytes. Es solo un tamaño de objeto de un Kilobyte, en promedio. La CPU es menos del 5%, 4% en este momento. La memoria es lo que agrega y puede ver que todos los conjuntos de contadores muestran actividad aquí.

Tenemos Procesos de Clientes, que también se muestran aquí y si les muestro el Panel de Clientes, también estamos viendo todos estos informes.

Entonces, esto fue solo para darle una idea de lo fácil que es configurarlo. Entonces, esta es una de las pruebas, así que, si ya tienes AppFabric Servidores, todo lo que necesita hacer es descargar NCache software de nuestro sitio web, instálelo en los mismos servidores. Dos servidores es el requisito mínimo que recomendamos para una alta disponibilidad y confiabilidad de los datos. También puede comenzar con uno, solo para realizar pruebas, pero le recomendamos que use al menos dos servidores en producción y, una vez que lo haya hecho, puede pasar a su aplicación y comenzar a usar el mismo clúster de caché.

Y luego, después de la instalación, obviamente, también necesita crear un clúster de caché, lo que acabamos de hacer y luego puede comenzar a usar su aplicación y luego ir a su aplicación y comenzar a usar NCache como opción de migración y que te mostraría con la ayuda de una aplicación de ejemplo.

Ejecución de una muestra AppFabric Aplicación

Entonces, tengo esta aplicación de muestra. De hecho, es la misma aplicación de muestra, con nativo AppFabric interfaz de usuario de la consola y el segundo que he convertido de este NCache AppFabric interfaz de usuario de la consola. Entonces, si abro estas dos, estas son exactamente las mismas aplicaciones pero con pequeños cambios realizados para que sea compatible con NCache. Entonces, te guiaré a través de esos cambios. Tengo una copia separada de esto que demostraré. Por lo tanto, configuré esto como un Proyecto de inicio, correcto, y estoy planeando ejecutarlo y, por cierto, antes de ejecutarlo, tengo un AppFabric Servidor en funcionamiento aquí también. Entonces tenemos AppFabric Servidor. Si solo les muestro las estadísticas actuales, tengo algunas, ya saben, déjenme reiniciar esto y mientras se reinicia, déjenme volver aquí y esto está usando un típico AppFabric, ya sabes, llamadas de almacenamiento en caché de datos. A ver, si os muestro desde aquí, Program.cs.

¿Hay alguna pregunta? Quería lanzar uno a tu manera. Sí. Uno de nuestros asistentes mencionó, en la diapositiva seis, que mencionó que el clúster de caché se ejecuta en Windows y Linux, por lo tanto, ¿se puede alojar el servidor en Linux y, de ser así, cómo funciona la función del tablero?

Muy buena pregunta. Esto es un herramienta de gestión basada en web, que se implementa en ASP.NET Core, correcto y también tiene todas las herramientas disponibles para el entorno Linux. Entonces, si tu NCache El servidor está alojado en Linux. En primer lugar, aún puede acceder a la administración web, que sería como parte de Linux. Puede acceder a él desde cualquier caja de Windows o desde cualquier navegador dentro de su entorno y para el monitoreo de Linux, todavía no tenemos contadores PerfMon en Linux, ¿verdad?

La .NET Core todavía se está desarrollando, por lo que los contadores PerfMon aún no están allí. Entonces, hemos proporcionado nuestros contadores personalizados para el entorno Linux. Obtendría una vista casi similar de la supervisión del servidor Linux fuera de NCache. Entonces, la única diferencia sería que sería una caja de Linux en lugar de Windows y puedes tener una .NET Core instalación en esas cajas de Linux.

Entonces, la vista sería la misma. Es solo que hemos elegido una ruta diferente, para superar una limitación de .NET Core. Los contadores PerfMon no están allí, por lo que implementamos nuestro monitoreo personalizado para ese caso de uso en particular. Espero haber respondido a tu pregunta.

Entonces, déjame aclarar esto y mostrarte la estadística actual. Entonces, este es un 'democache', con el mismo nombre, incluso puede usar el mismo caché con el mismo nombre NCache así como. Ni siquiera tiene que cambiar el nombre del caché. Así es como hemos diseñado esto. Bien, déjame mostrarte las estadísticas de este caché. Entonces, nada en este momento está en el AppFabric clúster de caché. Entonces, voy a comenzar esta aplicación.

Entonces, mi objetivo aquí es que ejecutemos una aplicación con AppFabric, mostrarle que funciona y luego migramos fuera de esto, migramos esto a NCache y deja de usar AppFabric y empezar a usar NCache. Entonces, voy a ejecutar esto.

Bien. Entonces, este es mi caso de prueba personal, aplicación de muestra, que he diseñado. Está pasando por todas las API, posiblemente todas las API de AppFabric. Es por eso que está viendo muchas API ejecutándose en este punto. Entonces, simplemente ejecutaré esto con AppFabric y luego ejecute la misma muestra que tendría y también tendría una prueba de notificación por cierto. Entonces, mientras se hace esto, permítanme acoplarlo aquí y luego traer este aquí. En realidad, permítanme abrir esta muestra aquí mismo. Bien, entonces, básicamente la misma aplicación de muestra, mi error. Bien. Entonces, esto es con, ya sabes, AppFabric y déjame mostrarte que esta muestra ha hecho algunas adiciones, entonces, si te muestro las estadísticas. Tenemos un número de elementos de 48, un número de regiones de 60 y un número de solicitudes de 154.

Entonces, tenemos un montón de parámetros y si les muestro las claves en el caché, pueden ver algunas estadísticas dentro del caché. Por lo tanto, tiene algunos elementos. Uno es el principal en el, ya sabes, y solo tiene un servidor en este momento, pero también tenemos regiones agregadas en el caché.

Por lo tanto, es una aplicación de muestra completamente funcional y ahora voy a ejecutar la misma muestra y luego les mostraré cómo hacer, cómo hemos hecho los cambios también, por cierto. Entonces, voy a llegar a esta muestra, que es una copia de la primera, que ejecutamos con AppFabric e hizo cambios para equiparlo con NCache. Inicie una nueva instancia y eso debería ejecutarse aquí. Entonces, puede ver que se está ejecutando la misma muestra con NCache y te mostraré todos los cambios en un momento.

Entonces, la comparación lado a lado realmente lo ayudaría, lo que esperamos de la muestra uno de AppFabric y lo que estamos obteniendo de NCache va a ser exactamente igual y no haría ningún cambio en el código para lograrlo. Te guiaré a través de todos los pasos que hemos hecho. Entonces, está casi terminado. Entonces, permítanme llegar a la cima. Todavía está funcionando por cierto. Entonces, puede ver que el marcador amarillo es básicamente la tarea que estamos haciendo y, si se completa, se mostrará en verde y si ve un error del lado del servidor, verá, ya sabe, el rojo más oscuro. , más claro a la derecha y luego rojo más oscuro, si está en el lado de análisis, en el extremo del cliente. Entonces, les acabo de dar una vista codificada por colores. Entonces, puede ver que todas las salidas son exactamente iguales, incluidos los códigos de error y cualquier excepción que pueda haber encontrado. Entonces, comenzando desde aquí, agregando valor clave, agregando una clave inexistente, el mismo resultado aquí. Entonces, agregue el elemento a la prueba, ese también es el mismo resultado, obtenga el elemento, el elemento seis, ya sabe, éxito en este también, error. Entonces, puede ver una vista de lado a lado y esto coincide exactamente con NCache, Derecha.

Entonces, hacia el final, solo les mostraría algunos eventos. Entonces, también está usando regiones, ¿verdad? Por lo tanto, los casos de uso de la región aquí y vería el mismo resultado de NCache así como. Por lo tanto, borrar región, agregar región, eliminar prueba de región, en realidad está funcionando exactamente como se supone que debe ser. Entonces, esa es una demostración rápida de que pudimos lograr esto.

Déjame mostrarte cuáles son los pasos, que están involucrados. Ahora voy a cerrar esto y, por cierto, tienen todo el monitoreo, que debería haber mostrado, pero permítanme mostrarles los pasos que realizamos. Todo lo que hemos hecho es agregar un paquete NuGet y, para eso, permítanme seguir este paso a paso. Entonces, lo que realmente debe hacer es esta es la interfaz de usuario de la consola de App Fabric. Entonces, está usando AppFabric En el momento.

Entonces, lo primero que debe hacer es agregar un paquete NuGet. Entonces, si va a administrar paquetes NuGet, puede ver algunos paquetes NuGet instalados o puede navegar y ver algunos, veamos AppFabric NCache. Si hago clic en esto, instalar esto. Entonces, ese es nuestro primer paso.

Entonces, si vuelvo aquí, dentro de la opción de migración, sin opción de cambio de código, lo primero que debe hacer es introducir nuestro paquete NuGet, que es AppFabric.Envoltura.NCache y luego el siguiente paso es que reemplaces Microsoft.ApplicationServer.Caching; espacio de nombres con el Alachisoft.NCache.Caché.de.datos; Este es el ensamblaje de la envoltura y NCache se haría cargo de todas las llamadas a partir de ese momento.

NCache Enfoque de envoltura

  • Descargar NCache Envoltorio para AppFabric
  • Añada NCache Paquete de envoltorio Nuget
    AppFabric.Wrapper.NCache
  • Reemplaza AppFabric Espacio de nombres con NCache Wrapper
    /*Replace*/
    using Microsoft.ApplicationServer.Caching; 
    /*with */
    using Alachisoft.NCache.Data.Caching;
  • Ejecutar y probar la aplicación

Déjame hacer esto frente a ti. Entonces, esta es la muestra, que es nativa. AppFabric muestra. Tenemos el NuGet instalado. Todavía se está haciendo.

Pregunta rápida que te lanzo con esto. La pregunta era, ¿el envoltorio admite la obtención de elementos por etiquetas?

Sí. Conseguir, ya sabes, el AppFabric tiene regiones, a la derecha. Por lo tanto, si usa regiones dentro de AppFabric, entonces, usaremos etiquetas y luego grupos para admitir eso, pero si desea usar NCache etiquetas, correcto. Entonces, desea extender su uso de almacenamiento en caché y ese es un tema dentro del seminario web también, en ese caso puede usar nuestras API directamente. Entonces, use el envoltorio, para respaldar lo que ya tiene a través de regiones, la etiqueta se usa detrás de escena y luego, si desea usar etiquetas ofrecidas específicamente por NCache, NCache API. Entonces, puedes usarlo directamente NCache API también. Entonces, espero que responda a su pregunta.

Entonces, voy a revisar esto uno por uno, correcto, y simplemente usaré esta diapositiva aquí, entonces, necesitamos usar Alachisoft.NCache.Caché.de.datos; Bien, entonces, esa es la idea aquí. Entonces, voy a revisar esto, agregar el caché. No tiene ninguna referencia de AppFabric pero este tiene. Entonces, todo lo que necesita hacer es incluir este espacio de nombre Alachisoft.NCache.Caché.de.datos; y eso es.

Entonces, el paquete NuGet ha agregado un montón de recursos aquí NCache, ya sabes, Data.Caching, que es el envoltorio y luego NCache asambleas periódicas y todo esto es lo que necesitas. El NuGet está agregando NCache recursos del cliente en su aplicación y luego va uno por uno y luego comienza a reemplazar esto.

Déjame volver aquí y copiar esto para que donde sea que encuentres AppFabric referencia, por ejemplo, aquí, reemplácelo con NCache y lo hago frente a ti para que veas lo fácil que es. Entonces, seguimos adelante. Lo siento por mi mal, usando Alachisoft.NCache.Caché.de.datos; y vamos a repetir esto. Hubo un error tipográfico, así que creo que también me deshice de él. Bien. Entonces, voy a pasar a otras pruebas. Esto esta bien. Borrar región está bien, crear región está bien. Entonces, todas las pruebas de región no usan referencias directas, pero luego tenemos la prueba de etiquetas. Entonces, también publicaré esta muestra en GitHub. Por cierto, nuestro NuGet ya está activo, con la información más reciente del paquete de servicio, pero publicaré este en el. Entonces, espero haber completado todo. Déjame reconstruir esto. Si hay algún error, simplemente iré y lo abordaré específicamente. Entonces, en esto creo. Bien. Entonces, permítanme validar que estoy usando el envoltorio correcto.

Bien. Entonces, una vez que haya hecho esto, avíseme, ya sabe, creo que me he perdido algunos, pero una vez que haya hecho esto, debe volver aquí y agregar la configuración de conexión del lado del cliente. Por ejemplo, en mi caso, es este cuadro de aquí, 101, que es mi propio cuadro y la configuración tiene que tener el nombre del caché.

Por ejemplo, teníamos 'democache'. Entonces, solo les mostraré una prueba local con mi caché local, pero también pueden usar el caché remoto. Por ejemplo, para eso puedo usar este caché aquí mismo. Permítanme agregar mi caja como cliente, a la derecha y luego agregar esto, mi caja tiene un nodo de cliente, por ejemplo, 101 es una máquina cliente.

Bien. Entonces, tengo todas las configuraciones ahora. Entonces, puedo usar client.nc conf o simplemente puedo señalar 107 como un cuadro de cliente desde aquí.

Derecha. Entonces, esto es una cosa y luego la configuración de la aplicación debe apuntar hacia el nombre del caché. Entonces, no planeo cambiar nada aquí. Ahora déjame ejecutar esta muestra con mi caché real. Construyó bien. Después de eso, simplemente lo ejecutaría. Lo haré como un proyecto de inicio tan pronto como se complete. Comience un proyecto y luego ejecútelo.

Entonces, es esencialmente un proceso de tres pasos. Puede incluir nuestro NuGet, reemplazar su AppFabric biblioteca, ApplicationServer.Caching con el Alachisoft. NCache.Caché.de.datos. Reconstruya la aplicación. Asegúrate de que no haya errores. Utilice nuestro paquete NuGet más reciente y actualice client.nc conf para señalar el servidor que acaba de elegir y, en este caso, tenemos un archivo client.nc conf que se agrega por cierto desde el servidor. Ahora que tiene un clúster configurado. Solo apunte hacia ese servidor y si vuelvo aquí, ahora lo tenemos, déjeme monitorear esto y déjeme cerrar la herramienta de prueba de esfuerzo. Derecha. Entonces, deberíamos tener estadísticas que se muestren desde la propia aplicación, ¿verdad?

Entonces, en general, ese es el ciclo de vida de cómo migrar y usar nuestro enfoque de contenedor.

Directo NCache Llamadas a API

Permítame mostrarle también el uso directo de llamadas a la API. Ahora, el segundo enfoque en el que también había una pregunta, ¿qué sucede si usamos NCache etiquetas o NCache ¿características? Por lo tanto, tenemos muchas funciones avanzadas disponibles. Entonces, puedes hacer directo NCache Llamadas a la API además de su AppFabric solicitud. Entonces, para eso, le recomendaría que use nuestra documentación de ayuda como guía y esta es nuestra API directa. Entonces, todo lo que necesitas hacer es Caché ICache = CacheManager.GetCache y obtenga el identificador de caché y luego comience a usar NCache API y, para eso, todo lo que necesita hacer es usar nuestro SDK y tenemos una aplicación de muestra que le permite agregar todo esto a cualquier aplicación de propósito general que tenga.

Echar un vistazo a NCache API

  • Conectar y desconectar de la caché
    ICache cache = CacheManager.GetCache("myDistributedCache");
    cache.Dispose();
    
  • Leer desde la caché
    Employee employee = cache.Get<Employee>("Employee:1000"); 
    bool isPresent = cache.Contains("Employee:1000");
  • Agregar al caché
    cache.Add("Employee:1000", employee);
    cache.AddAsync("Employee:1000", employee);
    
    cache.Insert("Employee:1000", employee);
    cache.InsertAsync("Employee:1000", employee);
  • Quitar de la caché
    Employee employee = (Employee) cache.Remove("Employee:1000");
    cache.RemoveAsync("Employee:1000");

Entonces, incluso la aplicación que usa un enfoque de contenedor puede extender ese uso y comenzar a usar NCache API en una etapa posterior también.

Entonces, si abro las muestras y para eso te mostraré NCache muestras Basic Operations es una aplicación de muestra muy simple, que hace el trabajo. Entonces, esta muestra de operación básica está lista. Tiene un enfoque muy simple, una operación básica, por lo que todo lo que necesita hacer es agregar Alachisoft.NCache.Cliente biblioteca.

Entonces, como dije, puedes usar esto como referencia y donde sea que tengas AppFabric, por ejemplo, si abro Bulk Get Tests, puede incluir este espacio de nombre aquí, a la derecha, y dentro de eso, dentro de esto, permítanme tomarlo en el formulario, donde realmente lo necesitamos. Entonces, por favor tengan paciencia conmigo. Permítanme encontrar dónde debo agregarlo, porque no quiero cambiar nada en la muestra. Correcto, creo que solo está usando AppFabric prueba de envoltura encima. Entonces, creo que debería apegarme a esta muestra de operación básica. Derecha. Entonces, este es nuestro caché de clase ICache y luego puede usar Crear nuevo cliente, que es su objeto y luego puede decir Agregar objeto al caché, que es su implementación, implementación personalizada, pero así es como usaría NCache APIs

Podría construir un elemento de caché y luego llamar Caché.Añadir y esto representa NCache, ya sabes, API Alachisoft Objeto de caché. Entonces, es el Alachisoft.NCache.Cliente.ICache.

Por lo tanto, devuelve un identificador de caché y le permite usar NCache API encima. Entonces, como mencioné, puede comenzar con la migración a través del contenedor y luego puede usar nuestras API extendidas además y luego hay muchos, ya sabes, recursos de documentación disponibles, donde puede ver cómo AppFabric Las API se ven y cómo NCache API. Entonces, si realmente quiere dejar de usar AppFabric y empezar a usar NCache API, puede comenzar desde el principio y luego usar este enfoque, o puede usar un enfoque de lado a lado, donde usa el contenedor para facilitar la migración y luego se extiende sobre él usando NCache APIs

Directo NCache Llamadas API

Algunos cambios de API entre NCache y AppFabric

Almacenamiento en caché de ASP.NET con NCache

Ya hicimos esto. Asi que Caché de sesión ASP.NET, solo cambia el proveedor de tal manera que pueda proporcionar cambios de configuración web para apuntar hacia NCache como almacenamiento y salida de sesión, solo puede apuntar hacia NCache como proveedor de almacenamiento en caché de salida. También tenemos documentos de ayuda detallados disponibles en este frente. Por ejemplo, si dices NCache Almacenamiento en caché de sesión, apuntará hacia nuestro proveedor de estado de sesión y, de manera similar, también puede buscar el almacenamiento en caché de salida. Correcto, entonces, esto es lo que necesita modificar dentro de la configuración web.

<configuration>
  ...
  <sessionState cookieless="false"
                regenerateExpiredSessionId="true"
                mode="Custom"
                customProvider="NCacheSessionProvider"
                timeout="20">
    <providers>
      <add name="NCacheSessionProvider"
          type="Alachisoft.NCache.Web.SessionState.NSessionStoreProvider"
           cacheName="demoClusteredCache"
           sessionAppId="demoApp"
           exceptionsEnabled="true"
           writeExceptionsToEventLog="false"
           enableLogs="false"
           enableSessionLocking="true"
           sessionLockingRetry="-1"
           emptySessionWhenLocked="false" />       
    </providers>

  </sessionState>
...
</configuration>

Lo mismo ocurre con el almacenamiento en caché de salida, que está justo aquí. Entonces, si proporciono una descripción general del proveedor, esto es lo que debe agregar dentro de su aplicación para aumentar el almacenamiento en caché de salida de App Fabric con NCache almacenamiento en caché de salida.

<!-- caching section group -->
<caching>
  <outputCache defaultProvider ="NOutputCacheProvider">
    <providers>
    <add name="NOutputCacheProvider" 
         type= "Alachisoft.NCache.OutputCacheProvider.NOutputCacheProvider, Alachisoft.NCache.OutputCacheProvider, 
         Version=x.x.x.x, Culture=neutral, PublicKeyToken=cff5926ed6a53769" 
         cacheName="demoClusteredCache" 
         exceptionsEnabled="false"enableDetailLogs="false" 
         enableLogs="true" 
         writeExceptionsToEventLog="false"/>"
    </providers>
  </outputCache>
</caching>

Y, en el lado izquierdo, puede ver la lista con NCache es enorme. Sesiones multisitio son compatibles, ver estado proveedor es compatible, que falta en AppFabric. Caché de salida con ganchos personalizados es una característica única para NCache. Del mismo modo, tenemos SignalR Backplane, ASP.NET Core Almacenamiento en caché de respuestas, ASP.NET Core SignalR Backplane. Por lo tanto, esta lista es muy extensa, porque estamos actualizando activamente nuestro conjunto de características en comparación con AppFabric.

Replicación WAN

Y, en general, ya sabes, NCache tiene una arquitectura 100% peer to peer en comparación con AppFabric. Muchas topologías de almacenamiento en caché en comparación, que puede revisar. La replicación WAN está disponible. La compatibilidad con varios centros de datos está disponible, fuera de NCache, donde tienes disponibles Datacenters Activo-Pasivo, Activo-Activo o 3+ Activo-Activo.

Compatibilidad con varios centros de datos: replicación WAN

Tenemos un gran conjunto de clientes, que ya discutimos para respaldarlo también, donde NCache se está desplegando activamente en entornos Windows y .NET Entonces, creo que esto concluye la sesión de hoy. Déjame saber si hay alguna pregunta.

Entonces, tengo una pregunta para ti, Ron. La pregunta está formulada en nuestro AppFabric Cache Client Wrapper que tenemos. Proporcionamos todos los nodos del clúster, puertos, configuraciones de tiempo de espera, etc. a través de las API en comparación con app.config. Ahora, al usar el envoltorio, ¿podemos proporcionar lo mismo a través de las API frente a las configuraciones?

Sí, puede, porque en general, también tenemos parámetros en línea, ¿verdad? Por lo tanto, el envoltorio está diseñado de tal manera que le permite conectarse a la memoria caché con cambios mínimos de código y también cambios de configuración. Entonces, eso está diseñado de tal manera, correcto. Entonces, esta es la razón por la que quería que pareciera que es una opción muy fácil de migrar. Por lo tanto, solo le mostramos los cambios en el nivel de configuración, pero si está interesado en proporcionar algo en línea, tenemos parámetros de inicio. Por lo tanto, tenemos parámetros de inicialización, que le permiten proporcionar la lista de puertos Servidores, Servidor 1, Servidor 2, Servidor 3. Entonces, todas las configuraciones del lado del cliente que ha visto como parte de client.ncconf que, déjenme abrir aquí. Por lo tanto, estos son ajustes de configuración que puede especificar dentro del código de la aplicación también. Entonces, esa es una posibilidad.

Entonces, uno de nuestros asistentes está preguntando sobre algunas informaciones de rendimiento. Por ejemplo, ancho de banda.

NCache es muy escalable, tiene la capacidad de equipar su aplicación para lograr, ya sabe, una escalabilidad lineal del 100 %, ¿verdad? Por lo tanto, puede agregar más y más servidores y solo aumentaría la capacidad de manejo de solicitudes. Entonces, si solo desea una idea de propósito general, le recomiendo que revise nuestro punto de referencia. Déjame mostrarte esto. Tenemos nuestros puntos de referencia publicados, con nuestro y ya sabes, Operaciones de rendimiento por segundo con solo 5 NCache Servidores, pudimos lograr 2 millones de solicitudes por segundo. Correcto, entonces, eso es algo que puede revisar y también puede ver desde aquí, solo usamos 5 NCache servidores. Hay una demostración de video de esto también. Entonces, si desea revisar esto, hay un whitepaper y luego hay un video de demostración en vivo de esta prueba, donde comenzamos con 2 servidores y luego pudimos lograr cierto rendimiento y capacidad de manejo de solicitudes y luego pudimos aumentar la cantidad de servidores al poner más y más carga. Con solo un clúster de 5 nodos pudimos lograr 2 millones de operaciones por segundo.

Entonces, en lo que respecta a los recursos del servidor, si su pregunta se centra más en qué ancho de banda o recursos del servidor se requieren, estos eran servidores de AWS, servidores bastante avanzados, porque realmente queríamos demostrar la capacidad o el alcance que necesita. puede lograr con NCache. Entonces, pudimos expandir los servidores al límite y luego pudimos obtener 2 millones de solicitudes por segundo. Pero también puede usar un tipo de configuración de servidor web con hasta 8 núcleos, con una tarjeta de interfaz de red de 1 Gigabit con requisitos de memoria de hasta 16 Gigas o más. Entonces, 8 Gigas también está bien, pero 16 Gigas es lo que recomendamos. Entonces, que tenga la memoria adecuada para alojar sus datos.

¿Por qué es NCache una solución mejor que Redis?

Básicamente, si tengo que dar las cinco razones principales, en primer lugar es .NET frente a .NET no nativo. Redis no es muy compatible con Windows. Tiene una versión portada, respaldada por Microsoft Open Tech, un tercero. Redis laboratorios o Redis Los mismos Open Source recomiendan que no utilices Redis en plataforma Windows. Entonces, en comparación con AppFabric NCache es un mejor ajuste. Principalmente, por estar en la misma pila desde AppFabric & Redis no es. Redis en general, es más un producto basado en Linux. Mientras NCache es un producto basado en Windows y Linux.

Hay muchos problemas de alta disponibilidad con Redis. Redis El clúster no tiene una arquitectura 100 % peer-to-peer, en comparación con NCache. NCache es un clúster de caché con arquitectura peer-to-peer, donde puede desconectar cualquier servidor. No afectaría a sus clientes de caché, que están conectados a él y tampoco le provocaría ninguna pérdida de datos. Entonces faltan muchas características en Redis. Como el caché del cliente no está allí. Lo han introducido recientemente, pero es muy básico. Tenemos caché de clientes desde 2008, correcto. Por lo tanto, es una función muy antigua, que está muy mejorada como parte de NCache. Puente, código del lado del servidor SQL como búsqueda, lectura completa, controladores de escritura directa, cargador de caché, todas estas características faltan en Redis y me gustaría que revise rápidamente un documento de comparación, que se publica en nuestro página de comparación. Entonces, puedes ver Azure Redis vs NCache, Redis vs NCache Resumen de diferencias, Redis vs NCache (Conjunto de diapositivas) y luego hay alguna información de propósito general sobre NCache.

Entonces, déjame mostrarte esto muy rápido y déjame saber si tienes alguna pregunta. Estoy registrado en esto, así que déjame iniciar sesión. Claro. Una pregunta de seguimiento sobre eso es una pregunta sobre la replicación asíncrona.

¿Pueden suponer que el comportamiento de las replicaciones asíncronas es seguro? ¿Está garantizado?

Es, es…., entonces, ya sabes. Si falla en el medio, que es un escenario muy raro, puede perder esa actualización, pero es bastante rápido. Tenemos un hilo dedicado. Permítanme mostrarles el diagrama y luego volver a la primera pregunta. Entonces, abordemos esta pregunta primero. Entonces, la partición activa del Servidor 1, tan pronto como su aplicación agrega algo aquí, regresa NCache se encarga de actualizarlo en la copia de seguridad y allí tienes opciones de sincronización y sincronización.

Topologías de almacenamiento en caché: caché con particiones y réplicas de particiones

Entonces, asíncrono, es bastante rápido. Está en submilisegundos y me complacerá mucho que pueda reproducir un escenario en el que se activa una llamada en el servidor 1 y, mientras se replicaba, este servidor deja de funcionar y luego no puede obtener la actualización. Es un escenario muy raro dentro NCache. Incluso nuestros equipos de control de calidad trabajan muy duro para reproducir esto y no pueden hacerlo. Entonces, con un ligero retraso de submilisegundos, el subproceso dedicado actualiza la copia de seguridad y mientras ese servidor se cae, existe una pequeña posibilidad de que pierda la actualización, pero como dije, es un escenario muy raro de reproducir y tenemos la opción de sincronización. disponible también para acomodar esta situación. Si le preocupa mucho que necesite que las copias de seguridad se actualicen todo el tiempo, puede usar las actualizaciones sincronizadas, donde un cliente actualiza el activo y la copia de seguridad de una sola vez. Es una operación transaccional. Si falla en el medio, revertiría toda la operación. Entonces, es muy seguro, si su pregunta se enfoca en eso.

Así que volviendo a Redis, Esto es Azure Redis vs NCache. Entonces, puede ver la comparación del nivel de características y puede ver la lista donde Azure Redis tienen un papel parcial, un apoyo limitado en todos estos frentes. Por lo tanto, la alta disponibilidad es parcialmente compatible, las topologías de caché son limitadas, replicación de WAN es muy limitado, Almacenamiento en caché de ASP.NET caracteristicas, almacenamiento en caché de objetos caracteristicas, sincronización faltan funciones por completo en Redis y si estas usando NCache para el almacenamiento en caché de objetos, tiene mucho sentido tener estas funciones de sincronización disponibles.

SQL como buscar Está perdido, agrupación de datos falta, el código del lado del servidor falta por completo y eso ni siquiera es .NET porque el Redis no está escrito en .NET. Entonces, la lista continúa.

La pregunta es: Entonces, lo sé. NCache es nativo de Windows y se compara con Linux Redis es mejor, sin embargo, ¿cómo NCache en Linux comparar con Redis en Linux?

Mismo conjunto de características, mismo soporte, compatible a través de .NET Core está disponible en Linux. Asi que, NCache es, no es solo un producto de Windows, en comparación con Redis. Donde Redis es principalmente un producto orientado a Linux. NCache es Windows y Linux. Por lo tanto, cualquier conjunto de funciones que esté viendo aquí es totalmente compatible con el entorno Linux. Todos .NET Core lanzamientos en Windows, todos los Linux están a la par entre sí. Tenemos nuestro monitoreo personalizado, para acomodar el problema del contador PerfMon que tiene Linux, pero aparte de eso, todo el conjunto de funciones que está viendo, esta comparación es bastante válida, todo es válido para el entorno Linux también. Estoy más enfocado en Windows, porque Redis en general carece completamente, ya sabes, de soporte de Windows. Pero, en cuanto, NCache en lo que respecta, nuestra oferta de Windows y nuestra oferta de Linux es exactamente la misma. Entonces, todas las características que hemos discutido, debatido NCache es un claro ganador en el entorno Linux también y, de hecho, con implementaciones más nuevas, con más clientes que adoptan .NET Core dentro de sus aplicaciones, prefieren utilizar NCache en entornos Linux. Porque es más, ya sabes, compatible y más fácil de usar, desde el punto de vista de las licencias, desde el punto de vista del código abierto, Linux es bastante más fácil en comparación. Entonces nuestro NCache servidores, sentados en servidores Linux, a través de .NET Core es una práctica muy común en estos días.

¿Tenemos soporte para Docker?

Sí, lo hacemos, por supuesto. ¿Cómo no podemos tener Compatibilidad con Docker NCache. Si va a nuestra página de descarga, encontrará una sección sobre Docker. Tenemos .NET Core Docker Images, que están disponibles en Linux y luego tenemos .NET Framework Windows y luego tenemos archivos Docker disponibles para ambos también. Entonces, para Enterprise, Professional, Open Source, puede usar nuestro, por cierto, hemos mantenido intencionalmente .NET Core Imágenes solo para Linux porque ese es el más común y de hecho puedes usar nuestro Imágenes de Docker en cualquier plataforma de Kubernetes también. Como OpenShift, Tales como Servicio Azure Kubernetes, Servicio de Elastic Kubernetes ofrecido por AWS y Google Kubernetes Service también. Entonces, es muy común. Es muy popular en la implementación de aplicaciones. Entonces, es algo que puede descargar directamente desde nuestro sitio web o ir a la Centro acoplable para esa materia.

Por favor, confirme, si eso responde a su pregunta. Déjame saber si hay más preguntas. ¿Cualquier otro? Incluso si no puede enviar todas sus preguntas ahora, que estoy seguro de que ya estamos recibiendo muchas, pero siempre puede enviar un correo electrónico. support@alachisoft.com. Si tiene alguna consulta técnica o pregunta sobre las funciones, envíe un correo electrónico support@alachisoft.com. Nuestro equipo de soporte responderá todas sus preguntas, cualquiera de sus pensamientos, preguntas sobre casos de uso, etc.

Y, si estás interesado en obtener NCache comenzó, bueno, tenemos dos meses gratis NCache Enterprise versión de prueba gratuita disponible para que la descargue y luego la use en su entorno y, si lo desea, puede comunicarse con nosotros en support@alachisoft.com or sales@alachisoft.com. Lo ayudaremos a configurarlos y también nos informará en qué casos de uso está trabajando. ¿Qué funciones te interesan? Nos aseguraremos de que obtenga una satisfacción técnica, absolutamente.

También teníamos una pregunta, ¿podemos obtener las diapositivas de la presentación?

Claro, no solo se publicará la grabación de este seminario web, así que definitivamente espera eso en su correo electrónico, sino que también podemos enviarle las diapositivas, específicamente para usted. Si desea o si alguien más quiere las diapositivas, adelante, solicítelas ahora. Me aseguraré de que todos reciban las diapositivas.

Si no hay más preguntas, tenga en cuenta que puede comunicarse con nosotros en cualquier momento. Descargar NCache Enterprise, si aún no lo has hecho y definitivamente juega con él. Si desea ayuda para configurarlo en su entorno, definitivamente comuníquese con nosotros.

¿Qué hacer a continuación?

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