我试图设计一个P2P网络,所有的节点共享相同的数据,并对其进行更改。没有进入协商一致部分(即假设一次只有一个节点会对数据进行更改)。
如何确保所有对等点以容错方式连接到其他对等点?我只能想到一种方法,即每个对等点都可以从另一个对等点请求更多的对等点,但是如何确保连接分布尽可能均匀,而不需要TCP连接上的一个对等点重载,而另一个对等点可能几乎没有任何连接?或者,我怎样才能阻止所有的同龄人分裂成两个不同的群体?
发布于 2017-09-18 15:52:20
像bittorrent的规范对等优先级 (github链接)那样,它通过散列两个端点的标识符来计算偏好顺序,应该允许节点到达覆盖的伪随机布局,同时避免节点被“遗漏”。散列这两个身份在一起会产生一个不同但全球一致的顺序,从每个对等点的角度来看,从而构建了一个随机布局。随着每个节点边数的增加,网络分裂的几率将迅速降低到零。
你可以限制每个对等点接受的连接数量,这将迫使其他人在网络饱和后去其他地方寻找。
https://stackoverflow.com/questions/46275377
复制相似问题