Accès au fragment ObjectGrid

WebSphere eXtreme Scale atteint un haut débit de traitement en plaçant la logique au niveau des données et en renvoyant uniquement les résultats au client.

La logique d'application d'une machine virtuelle Java (JVM) du client doit extraire les données de la JVM du serveur et les replacer une fois la transaction validée. Ce processus ralentit le débit auquel sont traitées les données. Si la logique d'application se trouve sur la même JVM que le fragment contenant les données, les coûts de temps d'attente du réseau et de conversion des paramètres sont éliminés et peuvent signifier une nette amélioration des performances.

Référence locale aux données du fragment

Les API ObjectGrid proposent une session à la méthode côté serveur. Cette session est une référence directe aux données de ce fragment. Aucune logique de routage n'est placée sur ce chemin. La logique d'application peut utiliser directement les données de ce fragment. La session ne peut pas être utilisée pour accéder aux données dans une autre partition, car aucune logique de routage n'existe.

Un plug-in Loader constitue également un moyen de recevoir un événement lorsqu'un fragment devient une partition principale. Une application peut implémenter un plug-in Loader et l'interface ReplicaPreloadController. La méthode de vérification de l'état de chargement est appelée uniquement lorsqu'un fragment devient primaire. La session fournie à cette méthode est une référence locale aux données des fragments. Cette approche est généralement utilisée lorsqu'une partition principale doit démarrer des unités d'exécution ou s'abonner à une matrice de messages pour le trafic lié à la partition. Elle peut démarrer une unité d'exécution pour être à l'écoute des messages d'une mappe locale utilisant l'API getNextKey.

Optimisation de client-serveur regroupé

Si une application utilise les API du client pour accéder à une partition groupée avec la JVM qui contient le client, le réseau est omis, mais des conversions de paramètres ont encore lieu en raison des problèmes d'implémentation actuels. Si une grille partitionnée est utilisée, aucun impact sur les performances de l'application n'est constaté, car le nombre (N-1)/N d'appels conduit vers une JVM différente. Si vous avez besoin d'un accès local permanent à un fragment, utilisez les API Loader ou ObjectGrid pour appeler cette logique.