Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

18.13. HornetQ clustering

Les clusters HornetQ sont utilisés pour créer des groupes de serveurs HornetQ qui partagent la charge de traitement des messages. Chaque noeud actif du cluster agit comme serveur HornetQ indépendant et gère ses propres messages et connexions.
Pour former un cluster, chaque noeud (serveur indépendant HornetQ) déclare des connexions au cluster par un autre noeud avec des paramètres de configuration dans les fichiers de configuration (standalone.xml et domain.xml).
En clustering, des ponts principaux sont utilisés pour le pontage/routage des messages d'un cluster à l'autre. Les ponts principaux consomment des messages à partir d'une file d'attente de la source et ensuite, transfèrent ces messages vers un serveur cible HornetQ (nœud) qui peut ou peut ne pas être dans le même cluster.
Lorsqu'un nœud forme une connexion avec un autre nœud de cluster, il crée un pont principal en interne. Chaque nœud crée un pont principal explicite et vous n'avez pas besoin de le déclarer. Ces connexions au cluster permettent la transmission des messages entre les nœuds dans divers clusters d'équilibrage de charge de traitement des messages.
Vous pouvez configurer des noeuds de cluster dans les fichiers de configuration du serveur (standalone.xml et domain.xml).

Important

Vous pouvez configurer un nœud par le biais de fichiers de configuration du serveur (standalone.xml et domain.xml) et copier cette configuration aux autres nœuds pour générer un cluster symétrique. Toutefois, vous devez être prudent lorsque vous copiez les fichiers de configuration de serveur. Vous ne devez pas copier les données de HornetQ (c'est-à-dire les liaisons, le journal et les répertoires de messages volumineux) d'un nœud à l'autre. Lorsqu'un nœud est démarré pour la première fois, il persiste un identificateur unique pour le répertoire de journal qui sert à la bonne formation des clusters.

18.13.1. Server Discovery

Les serveurs utilisent un mécanisme qui s'appelle "server discovery" pour :
  • Transmettre leurs informations de connexion aux clients de messagerie : le but de la messagerie clients est de se connecter aux serveurs d'un cluster sans détails précis sur les serveurs en cours d'exécution à un moment donné
  • Se connecter aux autres serveurs : les serveurs d'un cluster veulent établir des connexions au cluster avec d'autres serveurs, sans détails précis sur les autres serveurs d'un cluster
L'information sur les serveurs est envoyée aux clients de la message par l'intermédiaire de connexions HornetQ habituelles et aux autres services par l'intermédiaire des connexions du cluster.
La première connexion doit être établie et peut être établie par les techniques de découverte de serveur dynamique (discovery) comme UDP (User Datagram Protocol), JGroups ou en fournissant une liste de connecteurs.