我的工作是实现一个分布式节点系统(如 p2p 节点),每个节点(比如 A、B、C 和 D)执行某些功能,并且需要彼此交互以进行各种操作,例如同步操作和其他操作例如,15 个 A 节点与一组 5 个 B 节点交互,进入负载最少的节点队列并获取令牌号,然后等待 C 将它们重定向到空闲节点 D,依此类推。
我对应该如何进行设计有点迷失:
我想到的协议是封装一个操作类型和其他要发送的东西的结构体。另外,这是使用确认方案完成的,因此我可以确定另一方收到了消息。
由于我没有中央服务器,我该如何处理分布式互斥方面。我猜测每个节点都会复制数据,但这听起来有点太昂贵了(更不用说愚蠢了)。
实现 p2p 系统时遵循的基本设计方法是什么,即我如何实现该程序,使其在接收时被阻止,但也可以发送进一步的更新等,同时从其他人那里获取有关“状态”的信息整个系统。
如何确保请求的总排序?
另外,我可能需要考虑/面对的其他问题是什么。如果您能为我指出一些关于实现 p2p 和分布式系统的优秀在线资源,我也将不胜感激。
Thanks!!
我不会尝试给出“完整”的答案(因为这个问题太大且模糊),但我可以向您指出一个有趣的难题:
您可以使用消息队列系统(例如 AMQPRabbitMQ:有一个实验性的 C 绑定可用)来实现节点之间可靠的消息传递。
互斥:您可以使用诸如Paxos
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)