码迷,mamicode.com
首页 > 其他好文 > 详细

P2P system:How Chord tackles failures

时间:2015-11-18 21:18:06      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

若有peer failures 怎么办

技术分享

接上面的例子,如果N32 fail掉了,但是N80的finger table还没有更新,这样query到了N16,它找不到N32,只有N80,这样query就会丢失掉。

解决的方法是,保存r个successor而不是只一个successor,r 是一个系统可以配置的值。

那么r究竟为多大呢?这样如果有很多错误的话,query仍然可以正确到达

技术分享

 

r=2log(N). w.h.p. = with high probability 

如果node里面保存的file fail怎么办

技术分享

 

如果存在N45里面的文件丢失了,那如果有对这个文件的查找,则找不到这个文件了,因为它只有一份丢失了。

解决这个问题的办法是多备份一个文件,在它的前面一个结点和后面一个结点都备份同样的一个文件,这样如果有查询到达它前面的一个结点或者后面的一个结点的话,就会返回查询的结果。

多备份一个文件不仅解决了容错问题,而且解决了负载平衡的问题,比如你有一个很热门的文件(可能是最近比较热门的歌曲),这样多备份几份的话,就不会让一个结点的负载过高,平衡了结点的负载。

需要处理动态的变化

技术分享

peers fail或者join很常见,有很高的churn,所以需要更新successors和finger table, copy keys.

 

P2P system:How Chord tackles failures

标签:

原文地址:http://www.cnblogs.com/yan2015/p/4975715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!