Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

applications réparties > processus d'élection d'un maître

6 réponses
Avatar
.Saphyr
Bonjour,

Toujours dans le cadre de ma question posée il y a 4 jours (merci ledev pour les premièrs élements),
je cherche un éventuel algorithme ou standard en matière d'élection d'un maître au sein d'un service
réseau.

Plus concrètement: dans une application communiquant par réseau avec d'autres instances, quelles
sont les meilleures pratiques afin d'arriver à ce qu'elles se mettent d'accord entre elles pour déterminer
qui va assurer le rôle du maître.

Est-ce que c'est quelque chose qui se fait au feeling ou y-a-t'il un protocole bien défini pour cela ?
Je pensais me calquer sur le processus d'élection de master browser qu'utilisent Microsoft avec les
services netbios. Bonne idée ?

.antoine

6 réponses

Avatar
Ledev
".Saphyr" a écrit dans le message de news:


Bonjour,

Toujours dans le cadre de ma question posée il y a 4 jours (merci ledev


pour les premièrs élements),
je cherche un éventuel algorithme ou standard en matière d'élection d'un


maître au sein d'un service
réseau.

Plus concrètement: dans une application communiquant par réseau avec


d'autres instances, quelles
sont les meilleures pratiques afin d'arriver à ce qu'elles se mettent


d'accord entre elles pour déterminer
qui va assurer le rôle du maître.

Est-ce que c'est quelque chose qui se fait au feeling ou y-a-t'il un


protocole bien défini pour cela ?
Je pensais me calquer sur le processus d'élection de master browser


qu'utilisent Microsoft avec les
services netbios. Bonne idée ?



Pourquoi ne pas simplement leurs faire tirer un nombre au hasard, ainsi
celle qui tire le plus grand est master.
Ainsi chaqu'un tire son nombre avec rnd, l'envoie au copine, et chaqu'un
vérifie de son coté la liste des nombres tirée(et chaqu'une des instance
sait alors qui est le masters, celle qui a envoyée le plus grand nombre).
Et en cas d'exequo, elle retire automatiquement un nombre.
De plus sa te permettrai de pouvoir mettrre une option "Forcer cette
instance a être master", ainsi elle aurrai juste a renvoyée 1(rnd renvoyant
toujours un nombre inférieur a 1), et elle serrai master. Toutefois une
petite précotion:
Si 2 ont une telle option de cochez, ont tombera sur un ex-equo a chaque
nouveau tirage, ainsi les instances doivent vérifié si l'option est activée
2 fois(si y'a deux 1 comme nombre tirée), et afficher un message indiquans
qu'ils faut en désactivée 1 des 2(elles peuvent égualement indiquez les IPs
des ex-equo, affin de retrouvée ou il faut allez décochez).

Voilà, a+.
Avatar
.Saphyr
Vraiment pas mal le coup du nombre aléatoire. Et bien plus simple que ce que je fais.
Là j'étais en train d'établir les shémas de flux sur visio pour implémenter une sorte
d'élections démocratiques.

Genre "va chercher à moscou ce que tu as en bas de chez toi" je ne pouvais pas
faire pire. (je ne vis pas à moscou)...

Merci ! ; )

Mais je vais voir quand même si c'est viable le coup du nombre aléatoire. Parce que
s'il y a 150 instances qui se balancent entre elles des nombres aléatoires je ne sais pas
si c'est propre. = )
Avatar
ng
Bonjour,

Pourquoi ne pas choisir en fonction des ressources ?

j'avais fais quelque chose de ce style, sauf qu'au lieu que l'on compare un
nombre aléatoire, on comparait un nombre représentant les ressources des
machines (+ il est grand + la machine est puissante), et en cas d'égalité,
on utilisait des nombres aléatoires...


Nicolas.

"Ledev" a écrit dans le message de news:
#

".Saphyr" a écrit dans le message de news:
#
>
>
> Vraiment pas mal le coup du nombre aléatoire. Et bien plus simple que ce
que je fais.
> Là j'étais en train d'établir les shémas de flux sur visio pour
implémenter une sorte
> d'élections démocratiques.
>
> Genre "va chercher à moscou ce que tu as en bas de chez toi" je ne


pouvais
pas
> faire pire. (je ne vis pas à moscou)...
>
> Merci ! ; )
>
> Mais je vais voir quand même si c'est viable le coup du nombre


aléatoire.
Parce que
> s'il y a 150 instances qui se balancent entre elles des nombres


aléatoires
je ne sais pas
> si c'est propre. = )

Pour un petit nombre d'instance cela passe, mais un trop grand nombre cela
risque d'usée pas mal la bande passante du réseau, et en plus il risques


de
prendre égualement pas mal de ressource systéme sur les machines.
Disons que le nombre d'instance que se systéme pourra suporter
convenablement dépend du réseaux et des machines...

Mais, il y aurra combien d'instance environs? parce que 150, si il n'y en


a
qu'une qui bosse a la fois, même une 10aine suffit a qu'ils y en ait
toujours au moins 1 de présentes...

a+




Avatar
.Saphyr
> Pourquoi ne pas choisir en fonction des ressources ?

j'avais fais quelque chose de ce style, sauf qu'au lieu que l'on compare un
nombre aléatoire, on comparait un nombre représentant les ressources des
machines (+ il est grand + la machine est puissante), et en cas d'égalité,
on utilisait des nombres aléatoires...



Les machines peuvent être considérées comme :
1) identiques
2) hierarchiquement toutes au même niveau

Donc cela ne m'arrange pas =(
Avatar
Zoury
Salut Antoine! :O)

Ne peux-tu pas les "élires" par ordre alphabétique?

Au chargement du programme tu obtiens la liste des postes par ordre
alphabétique, le premier est nommé master, s'il plante le deuxième se fait nommé
master et ainsi de suite... le traitement sera beaucoup moindre que l'histoire
de nombre aléatoire tu n'auras que l'index du tableau à incrémenter ou
décrémenter au besoin..

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
".Saphyr" wrote in message
news:
:
: Bonjour,
:
: Toujours dans le cadre de ma question posée il y a 4 jours (merci ledev pour
les premièrs élements),
: je cherche un éventuel algorithme ou standard en matière d'élection d'un
maître au sein d'un service
: réseau.
:
: Plus concrètement: dans une application communiquant par réseau avec d'autres
instances, quelles
: sont les meilleures pratiques afin d'arriver à ce qu'elles se mettent d'accord
entre elles pour déterminer
: qui va assurer le rôle du maître.
:
: Est-ce que c'est quelque chose qui se fait au feeling ou y-a-t'il un protocole
bien défini pour cela ?
: Je pensais me calquer sur le processus d'élection de master browser
qu'utilisent Microsoft avec les
: services netbios. Bonne idée ?
:
: .antoine
:
:
Avatar
.Saphyr
Mais c'est que cela devient de plus en plus simple ! = )
merci !

,antoine