Comportamiento según la topología para las operaciones de caché
NCache proporciona varias topologías de almacenamiento en caché que se comportan de manera diferente al realizar operaciones de caché en ellas. A continuación se presentan NCache topologías y sus comportamientos.
- Caché espejo (Solo edición Enterprise)
- Caché replicado
- Caché con particiones
- Caché de réplica con particiones (Solo edición Enterprise)
- Caché de cliente (Solo edición Enterprise)
Topología de espejo
Note
Esta función solo está disponible en NCache Enterprise Edición.
In espejo topología, el cliente solo se comunica con el nodo activo, mientras que el nodo pasivo es la réplica del nodo activo y se utiliza para la copia de seguridad.
Las operaciones masivas se realizan en el nodo activo, donde la aplicación espera a que las operaciones se repliquen en el nodo pasivo.
Las operaciones asíncronas también se realizan en el nodo activo, pero el control se devuelve inmediatamente a la aplicación para que no espere a que se realice la operación en ambos nodos. Si se registra la devolución de llamada, se activará en caso de éxito o fracaso de la operación.
Topología replicada
In replicado topología, el cliente está conectado a un nodo a la vez. Por lo tanto, las operaciones masivas/asincrónicas se envían al nodo específico donde está conectado el cliente. Estas operaciones luego se replican entre los nodos de forma sincrónica, lo que garantiza la coherencia de los datos.
En caso de operaciones masivas, las operaciones se envían al nodo específico donde está conectado el cliente. El control se devuelve al usuario después de que se haya producido la replicación en todos los nodos del clúster.
Para las operaciones asincrónicas, el control se devuelve inmediatamente a la aplicación, sin esperar a que se produzca la replicación. Sin embargo, una vez que se produce la replicación, se activa la devolución de llamada y se devuelve al cliente.
Topología particionada
In dividido or réplica particionada topología, se mantiene un mapa de distribución que es responsable de la distribución de datos en todo el clúster. Antes de entrar en los detalles de las operaciones que se realizan, es importante comprender qué es un mapa de distribución. Un mapa de distribución es una estructura de par clave-valor, en la que las claves representan la identidad del nodo y el valor contiene información de los depósitos (de datos) que residen en ese nodo. De esta forma, se genera un mapa completo para el caché y se mantiene en el lado del servidor. NCache permite que el nodo coordinador decida la distribución de datos en función del mapa.
Note
El mapa de distribución distribuye todos los datos en caso de un clúster completamente conectado (todos los nodos del clúster están conectados). En caso de que un nodo se desconecte del clúster, NCache no divide más los datos según el mapa de distribución y envía los datos al siguiente nodo conectado.
Después de obtener la dirección del nodo donde reside el depósito desde el mapa de distribución, la operación se envía al nodo de destino. NCache mantiene el mapa distribuido en el extremo del cliente, por lo que al realizar la siguiente operación en la clave, la operación se enviará directamente al nodo donde residen los datos. Esto mejora el rendimiento ya que la operación se envía directamente al nodo donde residen los datos.
Suponiendo que los elementos de datos 1-500 estén en N1 y 501-1000 en N2 (sin embargo, los datos no se dividen en un orden y se barajan al azar) según el mapa de distribución. En cualquier operación realizada en artículos a granel, la operación se enviará al nodo respectivo en una sola llamada. La mayor facilidad de tener el mapa de distribución en el lado del cliente es un rendimiento más rápido porque la operación se realizará directamente en el nodo residente de datos. El control será devuelto al usuario (para cualquier otra operación) una vez que la operación se haya realizado en su totalidad.
Para las operaciones asincrónicas, una vez que se realiza cualquier operación de escritura, la llamada se le devuelve inmediatamente mientras la operación sigue ejecutándose en segundo plano. NCache mantiene una cola en segundo plano que (no afecta las operaciones de su cliente) realiza un seguimiento de los datos de las operaciones. Brinda una gran comodidad con extensos conjuntos de datos donde las operaciones tardan mucho en realizarse.
Topología de réplicas con particiones
Note
Esta función solo está disponible en NCache Enterprise Edición.
In réplica particionada topología, la operación del cliente se realiza primero en el nodo asignado y luego se replica en su réplica de forma síncrona o asíncrona, según lo especifique el usuario.
En caso de operaciones a granel, si en sincronizar modo, las operaciones se realizan en el nodo asignado y la aplicación espera hasta que se produzca la replicación en la réplica de la partición. si en Asincrónico modo, el control se devuelve a la aplicación tan pronto como se realiza la operación en el nodo de partición y no espera la replicación ya que es asíncrono.
En caso de operaciones asincrónicas, la operación se envía al nodo de partición asignado y el control se devuelve al usuario de inmediato, independientemente del modo de sincronización especificado.
Caché de cliente
Note
Esta función solo está disponible en NCache Enterprise Edición.
A Caché de cliente es un caché local sincronizado con un caché en clúster remoto. Esta sincronización se produce a través del sondeo: si una caché en clúster detecta un cambio en cualquiera de sus cachés de clientes después de su intervalo de sondeo predeterminado de 1 segundo, le informa a la caché del cliente que sondee los datos modificados. De lo contrario, después de su intervalo predeterminado de 10 segundos, la memoria caché del cliente solicita a la memoria caché en clúster que proporcione los datos modificados, si los hay.
En el caso de las operaciones de escritura, cada operación se realiza primero en la memoria caché del cliente y luego se realiza en la memoria caché remota a través de un mecanismo interno de escritura posterior.
Para las operaciones masivas, el control se devuelve a la aplicación una vez que la operación se realiza tanto en la memoria caché del cliente como en la memoria caché remota. En el caso de operaciones asincrónicas, las devoluciones de llamada se devuelven a la memoria caché del cliente desde la memoria caché remota después de realizar la operación en la memoria caché.
Sin embargo, para las operaciones de lectura, primero se busca la clave en la memoria caché del cliente; si no se encuentra, la memoria caché del cliente obtendrá el elemento clave de la memoria caché remota y luego se lo devolverá al cliente. Esto proporciona el máximo impulso en el rendimiento y la escalabilidad de la aplicación sin comprometer la integridad de los datos.
Vea también
Agregar datos a la caché
Actualizar datos existentes en caché
Recuperar datos de caché existentes
Quitar datos de la caché