7.7.3. Mettre en place une politique d'équilibrage des charges presonnalisée pour les appels EJB
AllClusterNodeSelector
pour les appels EJB. Le comportement de sélection de noeud de AllClusterNodeSelector
ressemble à celui du sélecteur par défaut, sauf que AllClusterNodeSelector
utilise tous les noeuds de cluster disponibles, même pour les clusters de grande taille (nombre de noeuds>20). Si un noeud de cluster non connecté est renvoyé, il s'ouvre automatiquement. L'exemple suivant montre une implémentation de AllClusterNodeSelector
:
SimpleLoadFactorNodeSelector
pour les appels EJB. L'équilibrage des charges dans SimpleLoadFactorNodeSelector
a lieu sur la base d'un facteur de charge. Le facteur de charge (2/3/4) est calculé sur la base des noms de noeuds (A/B/C) irrespectivement de la charge qui pèse sur chaque noeud. L'exemple suivant vous montre une implémentation de SimpleLoadFactorNodeSelector
:
jboss-ejb-client.properties
Vous devrez ajouter la propriété remote.cluster.ejb.clusternode.selector
au nom de votre classe d'implémentation (AllClusterNodeSelector
ou SimpleLoadFactorNodeSelector
). Le sélecteur vérifiera les serveurs configurés disponibles au moment de l'invocation. l'exemple suivant utilise AllClusterNodeSelector
comme sélecteur de noeud de déploiement :
Vous devrez ajouter la propriété remote.cluster.ejb.clusternode.selector
à la liste de constructeur PropertiesBasedEJBClientConfiguration
. L'exemple suivant utilise AllClusterNodeSelector
comme sélecteur de noeud de déploiement :
jboss-ejb-client.xml
Pour pouvoir utiliser la politique d'équilibrage des charges pour la communication d'un serveur à un autre, empaquetez la classe avec l'application et configurez-là dans les paramètres de jboss-ejb-client.xml
(qui se trouvent dans le dossier META-INF
). L'exemple suivant utilise AllClusterNodeSelector
comme sélecteur de noeud de déploiement :
ejb-security-realm-1
à la configuration côté serveur. L'exemple suivant vous montre les commandes CLI pour ajouter un domaine de sécurité (ejb-security-realm-1
). La valeur correspond au mot de passe base64 codifié pour l'utilisateur "test" :
core-service=management/security-realm=ejb-security-realm-1:add() core-service=management/security-realm=ejb-security-realm-1/server-identity=secret:add(value=cXVpY2sxMjMr)
core-service=management/security-realm=ejb-security-realm-1:add()
core-service=management/security-realm=ejb-security-realm-1/server-identity=secret:add(value=cXVpY2sxMjMr)
Note
-Djboss.node.name=
ou le fichier de configuration du serveur standalone.xml
pour configurer le nom du serveur (server name=""). Veillez à ce que le nom de serveur soit unique. En mode de domaine, le contrôleur valide automatiquement le fait que les noms soient uniques.