Les différents flux au sein de Kerrighed reposent sur la notion de flux dynamique.
Un flux dynamique se caractérise par un ensemble d'extrémités distribuées (deux dans le cas d'un flux de type tcp). La notion d'extrémité distribuée veut simplement dire que des références à une même extrémité peuvent exister sur des noeuds différents. La mécanique des flux dynamiques assurent la gestion et le déplacement des références au sein de la grappe: à partir d'une référence d'une extrémité distribuée, ce mécanisme fournit l'adresse physique de son interlocuteur au sein de l'extrémité "opposée".
A partir de ce mécanisme générique, les interfaces de communication classique (notamment socket inet, socket unix, pipe) sont (partiellement) re-implementé.
Donc si l'on prend l'exemple de plusieurs processus partageant une meme socket: en pratique chacun des processus va disposer de sa propre socket qui seront chacune liée à une référence de la même extrémité distribuée. Lors d'une communication interne à Kerrighed, le message est transmit à partir de la socket initial par la flux dynamique au destinataire.
J'espère avoir (au moin partiellement) répondu à la question.
[^] # Re: migration de flux
Posté par Pascal Gallard . En réponse à la dépêche Sortie de la version 1.0.0 de Kerrighed. Évalué à 3.
Un flux dynamique se caractérise par un ensemble d'extrémités distribuées (deux dans le cas d'un flux de type tcp). La notion d'extrémité distribuée veut simplement dire que des références à une même extrémité peuvent exister sur des noeuds différents. La mécanique des flux dynamiques assurent la gestion et le déplacement des références au sein de la grappe: à partir d'une référence d'une extrémité distribuée, ce mécanisme fournit l'adresse physique de son interlocuteur au sein de l'extrémité "opposée".
A partir de ce mécanisme générique, les interfaces de communication classique (notamment socket inet, socket unix, pipe) sont (partiellement) re-implementé.
Donc si l'on prend l'exemple de plusieurs processus partageant une meme socket: en pratique chacun des processus va disposer de sa propre socket qui seront chacune liée à une référence de la même extrémité distribuée. Lors d'une communication interne à Kerrighed, le message est transmit à partir de la socket initial par la flux dynamique au destinataire.
J'espère avoir (au moin partiellement) répondu à la question.