Equilibrio de la carga
Dinamo con un mecanismo de equilibrio de carga que permite una mayor disponibilidad del entorno y un mejor rendimiento de las aplicaciones. Es posible tener hasta 16 (dieciséis) unidades de Dinamo un sistema de equilibrio de carga, con el mismo número de sesiones en cada uno de los equipos. El equilibrio de carga es transparente para la aplicación; es decir, una vez habilitado, la aplicación se beneficia de él sin necesidad de realizar ningún cambio.
El equilibrio de carga funciona según un esquema de tipo «round-robin», distribuyendo las conexiones de forma circular entre los HSM configurados. La unidad de equilibrio de carga es la sesión con el HSM, independientemente de la carga o de las API utilizadas en cada sesión, así como 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 equilibrio de carga y no por la propia aplicación. El esquema de equilibrio funciona por proceso, es decir, dentro de cada proceso se equilibran sus propias sesiones; en caso de que se ejecuten dos procesos al mismo tiempo, cada uno tendrá una estructura de equilibrio 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 la caché de sesiones se activan mediante variables de entorno. Si la definición de las variables de entorno tiene un ámbito de todo el sistema (system wide), todas las aplicaciones se benefician de la estructura de equilibrio y/o caché (ya que los procesos heredan las definiciones de las variables de entorno del sistema). También es posible realizar una configuración definiendo la variable de entorno únicamente para el proceso concreto de una aplicación. Consulte la documentación del sistema operativo para obtener más detalles sobre la creación y el ámbito de las variables de entorno.
El equilibrio de carga presenta 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 del HSM. De este modo, el equilibrio de carga se habilita en un punto central y todas las demás bibliotecas que dependen de ella heredarán dicha funcionalidad;
- Transparente: para habilitar el equilibrio de carga, solo hay que activar una variable de entorno. No es necesario realizar ningún cambio en el código fuente de la aplicación.
Para obtener más información sobre la configuración del mecanismo de equilibrio de carga, consulta el apartado «Sesiones: equilibrio de carga».