2

我的工作是实现一个分布式节点系统(如 p2p 节点),这些节点中的每一个(比如说 A、B、C 和 D)都执行某些功能,并且需要相互交互以进行各种操作,例如同步操作和其他诸如 15 个 A 节点与一组 5 个 B 节点交互以进入负载最少的节点的队列并获得一个令牌编号,然后等待 C 将它们重定向到空闲节点 D 等等。

我对如何进行设计有点迷茫:

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

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

谢谢!!

4

1 回答 1

1

对一致的哈希方案进行一些研究可能是一个好主意。一个不错的起点:

我敢肯定,如果你对“设计点对点”类型的东西进行一些基本的谷歌搜索,你会发现很多东西要阅读。您还可以查看一些流行的点对点应用程序(如 Gnutella、BitTorrent 等)的设计文档。

于 2009-11-14T03:50:29.800 回答