Vous pouvez configurer plusieurs serveurs pour une configuration en cluster de haute disponibilité. Sous cette configuration, plusieurs serveurs sont en exécution simultanément.
Avant de commencer
Installez un équilibreur de charge. Cet équilibreur de charge répartira les demandes vers les serveurs du cluster.
Pourquoi et quand exécuter cette tâche
Pour configurer en cluster des serveurs, vous devez installer les serveurs sur des systèmes distincts et connecter ces serveurs à la même base de données. Vous devez ensuite configurer un équilibreur de charge pour répartir le trafic entre les serveurs. Au lieu d'accéder directement aux serveurs, les utilisateurs utilisent l'URL de l'équilibreur de charge. Pour les utilisateurs, cette URL semble héberger une seule instance à haute capacité du serveur ; les utilisateurs ne sont pas conscients de l'existence de multiples serveurs.
Procédure
- Installez et configurez la base de données comme à l'accoutumée. Si vous disposez déjà d'une base de données, vous pouvez l'utiliser pour les serveurs en cluster.
Voir Installation de la base de données.
- Si vous disposez déjà d'un ou de plusieurs serveurs, transformez-les en serveurs en cluster en procédant comme suit :
- Arrêtez le serveur.
- Sur le serveur, ouvrez dans un éditeur de texte le fichier dossier_installation/ucrelease/conf/server.properties. Utilisez le répertoire d'installation du serveur pour dossier_installation.
- Dans ce fichier, mettez à jour le paramètre public.url avec l'URL et le port de l'équilibreur de charge. Ajouter une barre oblique inversée (\) en caractère d'échappement pour les signes deux-points et les autres caractères spéciaux, comme dans l'exemple suivant :
public.url=http\://balancer.example.com\:8080
- Enregistrez le fichier.
- Pour adjoindre de nouveaux serveurs au cluster, installez ces serveurs normalement, mais avec les modifications suivantes :
- Connectez chaque cluster à la même base de données.
- For the host name that the users access,
specify the host name of the load balancer, not the computer that
hosts the server.
- Si vous installez le serveur sur le même ordinateur qu'un autre serveur, utilisez pour chaque serveur un port différent pour les demandes
HTTPS.
Voir Installation du serveur. Prenez soin de noter les ports pour chaque serveur car vous aurez besoin de ces informations ultérieurement.
Par défaut, il s'agit du port 8080 pour les demandes HTTP et du port 8443 pour les demandes HTTPS.
- Démarrez chaque serveur.
- Connectez-vous à un serveur et cochez la case Maintenir la connexion.
- Ouvrez le fichier server.properties de ce serveur.
- Localisez dans le fichier server.properties la propriété cookie.key et copiez-la. Cette propriété spécifie une clé qui est incluse dans un cookie lorsqu'un utilisateur se connecte. Vous copierez ensuite cette clé sur les autres serveurs afin que les utilisateurs n'aient pas besoin de se connecter séparément à chaque serveur.
- Ajoutez les propriétés suivantes dans le fichier server.properties de chaque serveur:
ha.activation.enabled=yes
ha.node.name=nom_noeud
cookie.key=clé_cookie
Pour nom_noeud,
spécifiez un nom de noeud unique pour chaque serveur. Après avoir configuré les serveurs, ce nom de noeud apparaît sur chaque serveur. Savoir quel serveur vous utilisez peut vous aider à déboguer les incidents. Pour afficher le nom du noeud que vous utilisez, cliquez sur Aide en haut de n'importe quelle page. Le nom de noeud est affiché dans le menu, comme illustré dans la figure suivante :Pour clé_cookie, indiquez la clé de cookie que vous avez copiée depuis le premier serveur. Cette clé doit être la même sur tous les serveurs. Par exemple, le code que vous ajoutez au fichier
server.properties pourrait ressembler à l'exemple suivant :
ha.activation.enabled=yes
ha.node.name=HA node 1
cookie.key=D3ZizBbRSWFjdOQ8N2a/yQ\=\=
- Facultatif : Pour stocker des pièces jointes dans un répertoire partagé, ajoutez la propriété
attachments.folder.path et indiquez le répertoire partagé, comme dans l'exemple suivant :
attachments.folder.path=/
- Redémarrez chaque serveur.
- Configurez un équilibreur de charge pour répartir la charge entre les serveurs. Pour plus d'informations, reportez-vous à la documentation de votre équilibreur de charge.
Résultats
Une fois que vous avez configuré l'équilibreur de charge pour répartir les connexions au serveurs, les utilisateurs peuvent se connecter à une URL unique tout en exploitant la capacité de tous les serveurs. Les serveurs permettent également d'utiliser une seule licence par utilisateur, et ce même si un utilisateur accède à plusieurs serveurs.