20.11.3. Les groupes discovery

Les groupes de diffusion sont utilisés pour diffuser les connecteurs sur le réseau. D'autre part, les groupes discovery définissent comment l'information sur les connecteurs est reçue à partir des points de terminaison de diffusion (Groupes de diffusion JGroups ou UDP) .Un groupe discovery maintient une liste de paires de connecteurs, un par diffusion par un serveur différent.
Quand un groupe discovery reçoit des diffusions à partir d'un point de terminaison pour un serveur particulier, il met à jour les paires de connecteur dans la liste du serveur spécifique. S'il ne reçoit pas de diffusion en provenance d'un serveur spécifique pendant un certain temps, il supprime d'entrée du serveur de la liste.
Les groupes discovery sont surtout utilisés par les connexions du cluster et les clients JMS (Java Messaging Service) afin d'obtenir les informations de connexion de départ pour pouvoir télécharger la topologie qui convient.

Note

Vous devez configurer chaque groupe discovery avec un point de terminaison de diffusion qui convient correspondant à son homologue de groupe de diffusion (UDP ou JGroups).

20.11.3.1. Configurer un groupe de diffusion UDP (User Datagram Protocol) sur le serveur

L'exemple ci-dessous montre comment définir un groupe discovery UDP :
<discovery-groups>
   <discovery-group name="my-discovery-group">
      <local-bind-address>172.16.9.7</local-bind-address>
      <group-address>231.7.7.7</group-address>
      <group-port>9876</group-port>
      <refresh-timeout>10000</refresh-timeout>
   </discovery-group>
</discovery-groups>

Note

Dans l'exemple de configuration ci-dessus, les attributs "local-bind-address", "group-address" et "group-port" sont dépréciés. Vous pourrez choisir d'utilliser l'attribut "socket-binding" à la place.
L'exemple indiqué ci-dessous définit un groupe de discovery UDP qui remplace tous les attributs dépréciés par l'attribut "socket-binding" :
<discovery-groups>
   <discovery-group name="my-discovery-group">
      <socket-binding>messaging-group</socket-binding>
      <refresh-timeout>10000</refresh-timeout>
   </discovery-group>
</discovery-groups>
Le tableau ci-dessous décrit tous les paramètres importants utilisés dans l'exemple ci-dessus et, qui servent, en général, à définir un groupe de diffusion :

Tableau 20.12. Paramètres de groupe discovery UDP

Attribut Description
name attribute
Cet attribut indique le nom du groupe discovery. Chaque nom discovery doit avoir un nom unique par serveur.
local-bind-address
[Déprécié] C'est un attribut spécifique UDP optionnel. Il est utilisé pour configurer un groupe discovery pour qu'il écoute une interface spécifique lors de l'utilisation d'interfaces multiples sur la même machine.
group-address
[Déprécié] C'est un attribut spécifique UDP obligatoire. Il est utilisé pour configurer un groupe discovery pour qu'il écoute une adresse IP spécifique de groupe. La valeur de cet attribut doit correspondre à l'attribut group-address du groupe de diffusion que vous souhaitez écouter.
group-port
[Déprécié] C'est un attribut spécifique UDP obligatoire. Il est utilisé pour configurer le port UDP du groupe multidiffusion. La valeur de cet attribut doit correspondre à l'attribut group-port du groupe de diffusion que vous souhaitez écouter.
socket-binding
Dénote la liaison de socket de groupe discovery
refresh-timeout
Il s'agit d'un attribut spécifique UDP facultatif. Il est utilisé pour configurer la durée (en millisecondes) pendant laquelle le groupe discovery patientra avant de retirer l'entrée de paire de connecteurs d'un serveur de la liste après avoir reçu la dernière diffusion en provenance de ce serveur. La valeur de refresh-timeout doit être définie à un niveau nettement supérieur à la valeur de l'attribut broadcast-period sur le groupe de diffusion pour empêcher le déplacement rapide de serveurs de la liste lorsque le processus de diffusion est encore actif. La valeur par défaut de cet attribut est de 10 000 millisecondes.