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

développement d'application décentralisée

4 réponses
Avatar
.Saphyr
Bonjour,

J'envisage de développer une application dite "distribuée" (je crois).
L'application aurait basiquement les capacités suivantes:

1) j'installe l'application sur une machine
2) au lancement, l'application est après un temps minimal au courant
de toutes les instances de cette même application lancées dans ce
réseau
3) l'application essaye de savoir si quelqu'un détient un fichier de
configuration que le sien et si c'est le cas, le récupère et se relance


4) parmis toutes ces instances, une seule fait le travail défini. Je vais
l'appeler A. Les autres attendent et se tiennent prêtes à faire la même
chose si A tombe en panne.

5) "A" tombe en panne. Les autres instances sont au courant de la
situation et decident de nommer une instance comme nouvelle
responsable de la tâche. "B" est nommé comme nouveau responsable.
Les autres passent alors toutes à nouveau en état passif.

6) "A" est rétabli (on va dire que la machine avait rebooté sans raison
apparente). "B" voit que "A" est de retour alors il se désactive et
cède la place à "A" (qui était le premier à assumer le rôle avant alors
la place lui revient de droit).

...

Et je peux continuer comme ça des heures. Mes questions sont :
comment s'appelle exactement ce genre d'application (pour mes recherche
ssur google ça aiderait sûrement) ? Vous avez sûrement constaté qu'il y a pas
mal d'algorithmes qui entrent en jeu. Est-ce que quelqu'un sait où je peux
me documenter à ce sujet ?

Et s'il y a des expériences à partager, c'est avec plaisir = )

.antoine

4 réponses

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


Bonjour,

J'envisage de développer une application dite "distribuée" (je crois).
L'application aurait basiquement les capacités suivantes:



Nan en faite, une application distribuer, c'est une application que tu
distribue. En faite il y a les applications dite "sur le poste de travail",
qui sont conçue pour tourner uniquement sur ta machine(ou celle de ton
réseau), et cette dite "distribuer" ou tu devra tenir compte d'un tas
d'éléments en plus.

1) j'installe l'application sur une machine
2) au lancement, l'application est après un temps minimal au courant
de toutes les instances de cette même application lancées dans ce
réseau
3) l'application essaye de savoir si quelqu'un détient un fichier de
configuration que le sien et si c'est le cas, le récupère et se relance


4) parmis toutes ces instances, une seule fait le travail défini. Je vais
l'appeler A. Les autres attendent et se tiennent prêtes à faire la même
chose si A tombe en panne.

5) "A" tombe en panne. Les autres instances sont au courant de la
situation et decident de nommer une instance comme nouvelle
responsable de la tâche. "B" est nommé comme nouveau responsable.
Les autres passent alors toutes à nouveau en état passif.

6) "A" est rétabli (on va dire que la machine avait rebooté sans raison
apparente). "B" voit que "A" est de retour alors il se désactive et
cède la place à "A" (qui était le premier à assumer le rôle avant alors
la place lui revient de droit).

...

Et je peux continuer comme ça des heures. Mes questions sont :
comment s'appelle exactement ce genre d'application (pour mes recherche
ssur google ça aiderait sûrement) ? Vous avez sûrement constaté qu'il y a


pas
mal d'algorithmes qui entrent en jeu. Est-ce que quelqu'un sait où je peux
me documenter à ce sujet ?



Là c'est assez complexe, pour le nom comme pour la mise en oeuvre. Je dirai
que A et B communique. par exemple une connection avec Winsock peut être
établie, et par exemple toutes les 10 seconde un paquet s'échange. Le jour
ou un paquet ne reviens pas, B prend le role de A(de même que si l'évenement
error se déclenche). Puis alors, il retente de se connectez a l'IP de A et
des que cela repasse, il reviens en mode passif.
Mais ceci supose que A est une IP fixe(si c'est sur un réseau local, pas
trop de probléme de se coté).
Avatar
.Saphyr
> > J'envisage de développer une application dite "distribuée" (je crois).
> L'application aurait basiquement les capacités suivantes:

Nan en faite, une application distribuer, c'est une application que tu
distribue. En faite il y a les applications dite "sur le poste de travail",
qui sont conçue pour tourner uniquement sur ta machine(ou celle de ton
réseau), et cette dite "distribuer" ou tu devra tenir compte d'un tas
d'éléments en plus.



Je reste quelque peu sceptique quant à votre réponse.... Personne d'autre
pour confirmer cela ?

J'en suis toujours plus au moins au même point. Votre explication me
donne des idées d'implémentation mais cela ne me dirige toujours pas
vers de quelconques standards s'il y en a ...

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

> > J'envisage de développer une application dite "distribuée" (je crois).
> > L'application aurait basiquement les capacités suivantes:
>
> Nan en faite, une application distribuer, c'est une application que tu
> distribue. En faite il y a les applications dite "sur le poste de


travail",
> qui sont conçue pour tourner uniquement sur ta machine(ou celle de ton
> réseau), et cette dite "distribuer" ou tu devra tenir compte d'un tas
> d'éléments en plus.

Je reste quelque peu sceptique quant à votre réponse.... Personne d'autre
pour confirmer cela ?



Attention, tu vas me vexer la :-D.

Si joint l'image de la couverture d'un des bouquins que j'ai lue.

J'en suis toujours plus au moins au même point. Votre explication me
donne des idées d'implémentation mais cela ne me dirige toujours pas
vers de quelconques standards s'il y en a ...



Là je ne peut vous aidez plus, les MVPs seronts mieux placé que moi pour sa.

a+
Avatar
.Saphyr
Je fais mon chiant... = ) En fait, j'essaye de définir le type d'applications dont je parle comme
applications dont chaque instance est indépendante l'une de l'autre mais dont toutes les instances
ou nombre d'entre elles ont connaissance de l'existence d'autres instances et collaborent d'une
manière ou d'une autre afin de fournir un service commun.

Maintenant, si je sors mon dictionnaire je vois que "distributed" n'est pas "distribué" mais
"réparti".... je crois que je vais chercher sur ce terme alors "applications réparties",peut être
l'erreur venait tout simplement de là.

.antoine