Equilibrio de la carga
Dinamo dispone de un mecanismo de balanceo de carga, lo que permite una mayor disponibilidad del entorno y rendimiento para las aplicaciones. Dinamo Es posible tener hasta 16 (dieciséis) unidades en un sistema de balanceo de carga, con el mismo número de sesiones en cada dispositivo. El balanceo de carga es transparente para la aplicación, es decir, una vez habilitado el balanceo de carga en el entorno, la aplicación se beneficia de él sin necesidad de realizar ningún cambio.
El balanceo funciona de forma round-robin, distribuyendo circularmente las conexiones entre los HSM configurados para el balanceo. La unidad de balanceo es la sesión con el HSM, independientemente de la carga o APIs utilizadas en cada sesión y también de la tasa de utilización de recursos en cada HSM. El HSM que establecerá la sesión con la aplicación viene definido por la estructura de balanceo y no por la aplicación. El esquema de balanceo funciona por proceso, es decir, dentro de cada proceso son sus sesiones las que se balancearán; si dos procesos se ejecutan al mismo tiempo, cada uno tendrá una estructura de balanceo separada e independiente.
Si la aplicación utiliza objetos almacenados en el HSM, el objeto debe existir en todos los HSM. Se recomienda preparar inicialmente un HSM con todos los objetos utilizados por la aplicación y generar a partir de él una copia de seguridad, que se restaurará en todos los demás HSM que formen parte del conjunto de equilibrado.
Información
El balanceo no puede ser utilizado por aplicaciones que crean objetos dentro de la sesión, necesitan persistir estos objetos entre sesiones pero no utilizan el mecanismo de replicación del HSM, porque en este caso la creación del objeto no se replica entre los HSMs y no hay garantía de que la siguiente sesión se dirija al HSM donde se creó el objeto. Para las aplicaciones que crean objetos que deben persistir entre sesiones, y no se utiliza el mecanismo de replicación entre HSMs, es tarea de la aplicación mantener un mecanismo de sincronización entre las bases de los HSMs que participan en el balanceo. Este mecanismo puede basarse, por ejemplo, en la exportación e importación de objetos.
El equilibrio de carga y el almacenamiento en caché de sesión se activan mediante variables de entorno. Si la definición de la variable de entorno es para todo el sistema, todas las aplicaciones se benefician de la estructura de equilibrio y/o almacenamiento en caché (porque los procesos heredan las definiciones de variables de entorno del sistema). También es posible realizar una configuración que defina la variable de entorno sólo para el proceso concreto de una aplicación. Consulte la documentación del sistema operativo para más detalles sobre la creación y el alcance de las variables de entorno.
El equilibrio de carga tiene las siguientes características:
- Intraproceso: el equilibrio de carga se realiza por proceso. Esto significa que 2 aplicaciones en la misma máquina tendrán diferentes conjuntos de equilibrado;
- Centralizado: implementado en la biblioteca HSM. De esta forma, el equilibrado se habilita en un punto central y el resto de bibliotecas dependientes de ella heredan la funcionalidad
- Transparente: para activar el equilibrado basta con activar una variable de entorno. No es necesario modificar el código fuente de la aplicación.