Lecture à partir de répliques

Il est possible de configurer des groupes de mappes pour autoriser un client à lire les fragments répliqués au lieu d'être restreint aux fragments primaires.

Il peut souvent être intéressant de permettre aux fragments réplique de sortir de leur simple rôle de simples fragments primaires en puissance en cas de défaillances. Il est, par exemple, possible de configurer des groupes de mappes pour autoriser le routage des opérations de lecture vers les fragments réplique. Pour ce faire, il suffit de donner la valeur true à l'option replicaReadEnabled de MapSet. Par défaut, le paramètre a la valeur false.

Pour plus d'informations sur l'élément MapSet, voir Fichier XML du descripteur de la règle de déploiement.

Activer la lecture des fragments réplique peut améliorer les performances en disséminant les demandes de lecture sur davantage de machines virtuelles Java. Si l'option n'est pas activée, toutes les demandes de lecture, telles les méthodes ObjectMap.get ou Query.getResultIterator, seront routées vers les fragments primaires. Lorsque replicaReadEnabled a la valeur true, certaines demandes get risquent de retourner des données périmées ; l'application utilisant cette option doit donc pouvoir tolérer cette éventualité. Mais il ne se produira pas d'échec en cache. Si les données ne sont pas dans le fragment réplique, la demande get est redirigée vers le fragment primaire et une nouvelle tentative est effectuée.

L'option replicaReadEnabled peut être utilisée dans les deux modes de réplication, synchrone et asynchrone.