Vous devez vous assurer que le cache est synchronisé si plusieurs processus avec des instances indépendantes de cache existent. Pour vérifier que les instances de cache sont synchronisées, activez un cache répliqué sur des homologues avec JMS (Java Message Service).
WebSphere eXtreme Scale comprend deux
plug-in qui propagent automatiquement les modifications de transactions entre les instances
ObjectGrid homologues. Le plug-in JMSObjectGridEventListener propage automatiquement les modifications
eXtreme Scale à l'aide de JMS.
Figure 1. Cache répliqué sur des homologues avec des modifications qui sont propagées à l'aide de JMS
Si vous exécutez un environnement
WebSphere
Application Server,
le plug-in TranPropListener est aussi disponible. Il utilise le gestion HA (high availability) pour propager les modifications à chaque instance de cache homologue.
Figure 2. Cache répliqué sur des homologues avec des modifications qui sont propagées à l'aide du gestionnaire de haute disponibilité
Avantages
- Plus grande validité des données car celles-ci sont actualisées plus souvent.
- Avec le plug-in TranPropListener, tout comme avec l'environnement local,
il est possible de créer la grille de données eXtreme Scale
par programmation ou de manière déclarative avec le fichier XML du descripteur de déploiement d'eXtreme Scale
ou avec d'autres structures de travail comme Spring. L'intégration au gestionnaire de haute disponibilité s'effectue automatiquement.
- Chaque mappe de sauvegarde peut être optimisée indépendamment en termes d'utilisation de la mémoire et de simultanéité des accès.
- Il est possible de regrouper en une seule unité d'oeuvre les mises à jour des mappes de sauvegarde
qui peuvent être intégrées comme derniers participants de transactions en deux phases
comme le sont les transactions Java Transaction Architecture
(JTA).
- Idéal pour les topologies comprenant un nombre restreint de machines virtuelles Java avec un dataset de taille raisonnablement réduite
ou pour la mise en cache des données à accès fréquent.
- Les modifications de la grille de données eXtreme Scale
sont répliquées à toutes les instances eXtreme Scale homologues.
Les modifications sont cohérentes tant qu'un abonnement durable est utilisé.
Inconvénients
- La configuration et la maintenance du plug-in JMSObjectGridEventListener
peut s'avérer une tâche complexe. Il est possible de créer la grille de données eXtreme Scale
par programmation ou de manière déclarative avec le fichier XML du descripteur de déploiement d'eXtreme Scale
ou avec d'autres structures de travail comme Spring.
- Pas d'extensibilité : la quantité de mémoire requise par la base de données risque de submerger la machine virtuelle Java.
- Fonctionne de manière incorrecte lorsqu'on ajoute des machines virtuelles Java :
- les données ne sont pas facilement partitionnées
- l'invalidation est onéreuse
- chaque cache doit être prérempli de manière indépendante
Quand l'utiliser
Utilisez la topologie de déploiement uniquement lorsque la quantité de données à mettre en cache est faible, peut tenir sur une seule machine virtuelle Java, et relativement stable.