节点距离计算:两个节点到达最近的共同祖先的距离总和。
集群可认为机房。
DiStance(d1/r1/n0, d1/r1/n0) =0(同一节点上的进程)
Distance (d1/r1/n1, d1/r1/n2) =2 (同一机架上的不同节点)
Distance (d1/r2/n0,d1/r3/n2) =4 (同一数据中心不同机架上的节点)
Distance(d1/r2/n1,d2/r4/n1) =6 (不同数据中心的节点)
注意:要一步一步来计算,直至到最近共同祖先,每一步都得相加。
如Distance (d1/r2/n0,d1/r3/n2) =4,首先找到集群1中机架r2的n0和集群1中机架r3的n2,显然这两节点的共同最近祖先是集群d1,n0节点先经过机架r2(算一步)再到集群d1(算一步)所以总共两步,n2节点同理,先经过集群r3(算一步),再到集群d1(算一步)总共两步,又由于节点距离计算:两个节点到达最近的共同祖先的距离总和。所以,Distance=2+2=4。