20.12.6. La réplication de messages HornetQ

Avertissement

Seuls les messages persistés peuvent être répliqués. Tout message non persistant ne peut pas survivre à un basculement.
La réplication de messages entre un serveur direct et un serveur de sauvegarde est effectué par le biais du trafic réseau car les serveurs live et de sauvegarde ne partagent pas les mêmes stores de données. Toutes les revues sont répliquées entre les deux serveurs, tant que les deux serveurs sont dans le même cluster et ont le même nom d'utilisateur et mot de passe de cluster. Tout le trafic de données persistantes reçu par le serveur live est répliqué sur le serveur de sauvegarde.
Quand le serveur de sauvegarde est en ligne, il cherche à trouver et à se connecter à un serveur live pour tenter la synchronisation. Une fois synchronisé, il n'est plus disponible en tant que serveur de sauvegarde. La synchronisation peut prendre un long moment selon le volume de données à synchroniser et la vitesse du réseau. Si le seveur de sauvegarde apparaît en ligne et qu'aucun serveur live est disponible, le serveur de sauvegarde attendra jusqu'à ce que le serveur live soit disponible dans le cluster.
Pour activer les serveurs qui répliquent les données, il faudra définir un lien entre eux dans le fichier standalone-full-ha.xml. Un serveur de sauvegarde ne se répliquera qu'avec un serveur live du même nom de groupe. Le nom de groupe doit être défini dans le paramètre backup-group-name qui se trouve dans le fichier standalone-full-ha.xml de chaque serveur.
Dans le cas d'un serveur live ayant échoué, le serveur de sauvegarde correctement configuré et totalement synchronisé reprendra ses fonctions. Le serveur de sauvegarde ne s'activera que si le serveur live a échoué, et si le serveur de sauvegarde est en mesure de se connecter à plus de la moitié des serveurs dans le cluster. Si plus de la moitié des autres serveurs du cluster manquent également de répondre, cela indique une panne générale de réseau et le serveur de sauvegarde attendra pour réessayer la connexion au serveur live.
Pour accéder à l'état initial après un basculement, il faut démarrer le serveur et attendre qu'il soit entièrement synchronisée avec le serveur de sauvegarde. Lorsque cela aura été réalisé, vous pourrez arrêter le serveur de sauvegarde pour que le serveur de départ s'active à nouveau. Cela se fait automatiquement si l'attribut allow-failback est définie sur true.