Acceso al fragmento de ObjectGrid

WebSphere eXtreme Scale consigue altas velocidades de proceso trasladando la lógica a donde están los datos y devolviendo sólo los resultados al cliente.

La lógica de la aplicación en una Máquina virtual Java (JVM) de cliente necesita extraer datos de la JVM del servidor que mantiene los datos y hacerlos retroceder cuando se confirma la transacción. Este proceso disminuye la velocidad en la que se procesan los datos. Si la lógica de la aplicación estaba en la misma JVM que el fragmento que contiene los datos, el coste de ordenación y latencia de red se elimina y puede proporcionar un aumento significativo de rendimiento.

Referencia local a datos del fragmento

Las API de ObjectGrid proporcionan una Session para el método del lado del servidor. Esta sesión es una referencia directa a los datos correspondientes a ese fragmento. No hay ninguna lógica de direccionamiento en esta vía de acceso. La lógica de aplicación puede utilizarse directamente con los datos para ese fragmento. La sesión no puede utilizarse para acceder a los datos de otra partición porque n existe ninguna lógica de redireccionamiento.

Un plug-in del cargador proporciona una forma de recibir un suceso cuando un fragmento se convierte en una partición primaria. Una aplicación puede implementar un cargador e implementar la interfaz ReplicaPreloadController. El método de estado de precarga de comprobación sólo se invoca cuando un fragmento pasa a ser un primario. La sesión proporcionada para ese método es una referencia local para los datos de fragmentos. Este enfoque normalmente se utiliza si un primario de partición debe iniciar algunas hebras o suscribirse a un tejido de mensajes para el tráfico relacionado con las particiones. Puede iniciar una hebra que esté a la escucha de mensajes en una correlación local utilizando la API de getNextKey.

Optimización de cliente-servidor de ubicación compartida

Si una aplicación utiliza las API de cliente para acceder a una partición que tiene que colocarse con el JVM que contiene el cliente, se evita la red, pero se sigue produciendo alguna ordenación debido a los problemas actuales de implementación. Si se utiliza una cuadrícula, no tiene ningún impacto en el rendimiento de la aplicación por que el número de llamadas (N-1)/N direcciona a una JVM distinta. Si siempre es necesario el acceso local con un fragmento, utilice las API del cargador o de ObjectGrid para invocar esa lógica.