图中:Distance(/d1/r1/n0)=0(同一节点上的进程) Distance(/d1/r2/n0,/d1/r3/n2)=4(不同机同一数据中心架上的节点)
Distance(/d1/r1/n1,/d1/r1/n2)=2(同一机架上的不同节点) Distance(/d1/r2/n1,/d2/r4/n1)=6(不同数据中心的节点)
节点距离=两个节点到达最近的共同祖先的距离之和 。
1.如图;在同一节点上,它们之间的距离当然是0;2*0=0。
2.在同一机架上的不同节点,它们的共同祖先就是这个机架,而这两个节点到机架的距离都是1,所以这两个节点的距离为1+1=2。
3.在同一集群的不同机架上的节点,它们的共同祖先是集群,而这两个节点要到达集群,首先要到这个机架(距离1),然后到达集群(距离2),所以两个节点的距离为2+2=4。
4.在同一数据中心的不同集群上的节点,它们的共同祖先是数据中心,以此类推,一个节点到数据中心的距离是3,两个节点距离就是3+3=6。