Skip to main content

Hazelcast

Muchas aplicaciones se implementan en varias aplicaciones o servidores en un clúster y se comunican con una sola base de datos relacional en la arquitectura de aplicaciones, como se muestra en la siguiente imagen:

Application Architecture Nodes in a cluster

Este problema se puede resolver si se utiliza la memoria caché que está embebida en cada nodo. Si los datos ya se encuentran en la memoria caché, se omite la solicitud a la base de datos y se usan los datos de dicha memoria. Si los datos no se encuentran en la memoria caché, se inicia la solicitud a la base de datos y se usarán los datos que se obtengan. 

Cache embedded in a node
Para aumentar el rendimiento de la aplicación, los datos que no cambian con frecuencia se guardan en la memoria caché de cada nodo del diagrama anterior.  

Con este enfoque, puede presentarse un problema de consistencia de la memoria caché siempre que una aplicación implementada en el servidor1 de la app actualice los datos. Los datos en la memoria caché1 y la base de datos son consistentes, pero la memoria caché2, caché3 y caché4 no tienen datos actualizados.

Para resolver el problema de inconsistencia, se puede utilizar una cuadrícula de datos en memoria. Una cuadrícula de datos es una recopilación de servidores que operan juntos en un entorno distribuido para gestionar datos y tareas relacionadas. Una cuadrícula de datos en memoria (IMDG) refiere a los datos que se almacenan enteramente en la memoria de acceso aleatorio (RAM) con pares clave-valor.

La mayoría de las empresas que anteriormente evitó adoptar la tecnología en memoria debido a su precio ahora cambia la arquitectura de sus sistemas para aprovechar el procesamiento de transacciones de latencia baja de la tecnología en memoria. Debido a la significativa disminución del precio de la memoria RAM, ahora resulta rentable cargar la totalidad del conjunto de datos operativos en la memoria, lo que genera una gran optimización en el rendimiento.

La siguiente lista contiene implementaciones populares de una cuadrícula de datos en memoria (IMDG):

  • Hazelcast
  • Infinispan
  • Red Hat JBoss Data Grid
  • Ncache

Hazelcast

Hazelcast está diseñada para entornos donde el poder de la computación en memoria se puede usar para acelerar las aplicaciones que requieren baja latencia, alto rendimiento, escalamiento horizontal y seguridad. Hazelcast se puede ejecutar embebida en cada nodo, pero también admite una topología cliente-servidor.

Las funciones de bajo nivel de Pega Platform™, como los agentes, el programador de trabajo y las reglas de servicio REST, usan Hazelcast para guardar los datos en la memoria caché o almacenarlos.

La IMDG de Hazelcast es una opción ideal para los servicios que se ejecutan en una plataforma de nube, como Kubernetes, donde las réplicas del servicio pueden aumentar o disminuir rápidamente en el escalamiento.

Las implementaciones de Pega Platform con Hazelcast se pueden usar de dos modos: embebidas o mediante servidor cliente.

Embebidas

Se recomienda el modo embebido si su aplicación requiere computación de alto rendimiento y una enorme cantidad de ejecuciones de tareas. Cada nodo de Pega se conecta a todos los demás nodos de Pega y conforma un clúster. Esta opción de implementación tiene un acceso de datos de baja latencia.

Hazelcast Embedded Architecture
Tanto la aplicación como los datos de la memoria caché funcionan en el mismo nodo, como se muestra en la imagen anterior. Cuando se escriben datos nuevos en la memoria caché, Hazelcast los distribuye a los demás miembros de la red Hazelcast (embebida). Cuando una aplicación intenta leer datos, primero busca en la memoria caché del nodo en el que se está ejecutando.  

Servidor cliente

En el modo cliente-servidor, Hazelcast es una plataforma de gestión de caché en memoria que puede proporcionar una mayor velocidad y escalabilidad en grandes clústeres de varios nodos. Hazelcast admite transacciones de alto rendimiento, transmisión en tiempo real y análisis rápidos en una sola capa completa de acceso y procesamiento de datos. Este modelo cliente-servidor es más estable para los clústeres grandes.

El modo cliente-servidor es una topología de agrupación que separa los procesos de Pega Platform de las funciones distribuidas y de comunicación del clúster. La tecnología de agrupación del modo cliente-servidor tiene recursos separados y usa una JVM diferente de Pega Platform. Los nodos cliente son nodos de Pega Platform que realizan trabajos de aplicación y llaman al cliente de Hazelcast para facilitar la comunicación entre Pega Platform y los servidores de Hazelcast. Los servidores son servidores de Hazelcast independientes que proporcionan capacidades de agrupación básicas, incluida la comunicación entre los nodos y las funciones distribuidas.

Centro de gestión de Hazelcast

Hazelcast proporciona una herramienta como centro de gestión para gestionar y mantener el estado general de los miembros del clúster.

 El centro de gestión se puede utilizar para las siguientes tareas:

  • Analizar y examinar las estructuras de datos
  • Tomar volcados de hilo de los nodos.
  • Actualizar configuraciones de asignación.
  • Supervisar memorias caché.

El centro de gestión proporciona funciones de operaciones útiles, como la capacidad para borrar los datos distribuidos o apagar miembros. Sin embargo, una práctica recomendada es restringir estas funciones con el siguiente fin:

  • Prevenir la modificación del clúster por parte de los clientes mientras está en uso, ya que modificarlo podría causar inestabilidad.
  • El centro de gestión les permite a los usuarios ver datos en asignaciones y memorias caché de Hazelcast. En entornos de cumplimento HIPPA, esto puede no ser legal. 

This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

¿Le ha resultado útil este contenido?

El 100% ha encontrado útil este contenido.

¿Quiere ayudarnos a mejorar este contenido?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice