zoukankan      html  css  js  c++  java
  • P2P system:How Chord tackles failures

    若有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.

  • 相关阅读:
    pat00-自测5. Shuffling Machine (20)
    Spiral Matrix
    Search in Rotated Sorted Array II
    Search in Rotated Sorted Array
    Best Time to Buy and Sell Stock II
    4Sum
    3Sum Closest
    3Sum
    MySQL存储过程、函数和游标
    Word Ladder
  • 原文地址:https://www.cnblogs.com/yan2015/p/4975715.html
Copyright © 2011-2022 走看看