2009-11-14 7 views
2

J'ai le travail de mettre en œuvre un système distribué de nœuds (comme les nœuds p2p) chacun de ces nœuds (disons A, B, C et D) remplissent certaines fonctions et doivent interagir entre eux pour diverses opérations telles que synchroniser les opérations et d'autres choses comme 15 nœuds A interagissent avec un groupe de 5 nœuds B pour entrer dans la file d'attente du nœud le moins chargé et obtenir un numéro de jeton et ensuite attendre que C les redirige vers un nœud libre D et ainsi de suite .Implémentation P2P ou système distribué

Je suis un peu perdu à comment dois-je aller sur la conception:

  1. Le protocole que j'ai pensé est d'encapsuler une struct du type d'opération et d'autres choses à envoyer. En outre, cela est fait en utilisant un système de reconnaissance afin que je puisse être sûr que l'autre côté a reçu le message.
  2. Comment aborder l'aspect de l'exclusion mutuelle distribuée, car je n'ai pas de serveur central. Je suppose que chaque nœud réplique les données, mais cela semble un peu trop cher (pour ne pas dire stupide). Quelle est la méthodologie de conception de base suivie lors de la mise en œuvre des systèmes P2P, à savoir comment mettre en œuvre le programme de telle sorte qu'il est bloqué sur une réception mais peut également envoyer d'autres mises à jour et obtenir des informations sur état »de l'ensemble du système.

Aussi, quels sont les autres problèmes que je pourrais avoir besoin de regarder/face. J'apprécierais également si vous pourriez me diriger vers de bonnes ressources en ligne sur la mise en œuvre des systèmes p2p et distribués.

Merci!

+0

dupliquer ... de la ** auteur ** même: http://stackoverflow.com/questions/1726664/distributed -system-design-using-only-c – jldupont

+0

@jldupont: oui c'est un doublon, on dirait qu'il répond à la suggestion d'eliben de ne pas en faire un wiki. – Eclipse

+0

J'ai essayé de chercher un chèque pour le wiki de la communauté, mais je n'ai rien trouvé. Désolé pour la duplication. –

Répondre

1

Ce serait probablement une bonne idée de faire des recherches sur des schémas de hachage cohérents. Un bon point de départ:

Je suis sûr que si vous faites quelques recherches sur Google base sur des choses de type « peer to peer de conception », vous trouverez beaucoup de choses à lire. Vous pouvez également regarder quelques documents de conception pour les applications peer to peer populaires comme Gnutella, BitTorrent, etc ..