15.2. Modes de clustering

Le clustering peut être configuré de deux façons différentes dans JBoss EAP 6 en utilisant Infinispan. La méthode qui convient à votre application dépendra de vos besoins. Il y a des considérations à prendre quand vous choisissez entre la disponibilité, la fiabilité et l'évolubilité de chaque mode. Avant de choisir un mode de clusterisation, vous devez identifier ce qui est le plus important pour vous sur votre réseau, et équilibrer en fonction des besoins.
Mode répliqué

Le mode répliqué détecte et ajoute automatiquement de nouvelles instances sur le cluster. Les changements faits à ces instances seront répliqués à tous les noeuds du cluster. Le mode répliqué fonctionne normalement mieux dans les petits clusters à cause du montant d'informations qui aura été répliqué sur le réseau. Infinispan peut être configuré pour utiliser UDP

Mode de distribution

Le mode de distribution permet à Infinispan de mettre le cluster à l'échelle linéairement. Le mode de distribution utilise un algorithme de hachage uniforme pour déterminer où un nouveau nœud doit être placé dans un cluster. Le nombre de copies d'informations à conserver est configurable. C'est un compromis entre le nombre de copies conservées, la durabilité des données et la performance : plus le nombre de copies qui restent sera grand, plus cela aura d'impact sur les performances, mais il sera alors moins probable que vous perdiez des données en cas de panne de serveur. L'algorithme de hachage permet également de réduire le trafic réseau en détectant les entrées sans multidiffusion ou en stockant des métadonnées.

Réplication synchrone et asynchrone

La réplication peut être effectuée soit en mode synchrone ou soit en mode asynchrone et le mode choisi dépendra de vos besoins et de votre application. Avec la réplication synchrone, le thread qui gère la demande de l'utilisateur sera bloqué jusqu'à ce que la réplication ait réussi. Quand la réplication aura réussi, une réponse sera envoyée au client, et le thread sera libéré. La réplication synchrone aura un impact sur le trafic réseau parce qu'elle requiert une réponse de chaque nœud du cluster. Elle a l'avantage, cependant, de veiller à ce que toutes les modifications soient apportées à tous les nœuds du cluster.

La réplication asynchrone est effectuée en arrière-plan. Infinispan implémente une file d'attente de réplication, qui est utilisée par un thread d'arrière-plan pour effectuer la réplication. La réplication est déclenchée sur une base de temps, ou sur la taille de la file d'attente. Une file d'attente de réplication permet de meilleures performances parce qu'il n'y a aucune conversation menée entre les nœuds du cluster. Le compromis avec la réplication asynchrone, c'est qu'elle n'est pas aussi précise. Les tentatives de réplication qui ont échoué sont inscrites dans un journal, et ne sont pas notifiées en temps réel.