2009-11-14 48 views
2

我有实现分布式系统的节点(如p2p节点)的工作,每个节点(可以说A,B,C和D)执行某些功能,需要彼此交互诸如同步操作之类的各种操作以及诸如15个节点之类的其他事物与一组5个B节点进行交互以进入最小负载节点的队列并获得令牌编号并且之后等待C将它们重定向到空闲节点D等等。P2P或分布式系统实现

我有点失落,以我应该如何去设计:

  1. ,我想到的是封装操作和其他东西的类型的结构要发送的协议。此外,这是使用确认方案完成的,所以我可以确定对方得到了消息。
  2. 我该如何解决分布式互斥问题,因为我没有中央服务器。我猜测每个节点都复制了这些数据,但是这听起来有点太贵了(更不用说笨了)。
  3. 什么是实施p2p系统时遵循的基本设计方法,即如何实现程序,使其在接收时被阻止,还可以发送进一步更新等,同时从其他人​​那里获得有关'状态'的整个系统。

另外,我可能需要查看/面对的其他问题是什么。如果您能指出我在实现p2p和分布式系统方面的一些很好的在线资源,我也将不胜感激。

谢谢!

+0

重复...从**相同**作者:http://stackoverflow.com/questions/1726664/distributed -system-design-using-only-c – jldupont 2009-11-14 03:27:15

+0

@jldupont:是的,它是重复的,这听起来像他对eliben的建议做出反应,使它不会成为wiki。 – Eclipse 2009-11-14 03:56:22

+0

我试图寻找社区维基的检查,但没有得到任何东西。对不起,重复。 – 2009-11-14 21:42:47

回答

1

对一致的哈希方案进行一些研究可能是一个好主意。一个很好的出发点:

我敢肯定,如果你做的“设计点对点”式的东西,你会发现很多事情读一些基本的谷歌搜索。你也可以看一些流行的对等应用程序的设计文档,如Gnutella,BitTorrent等。