一致性hash服务器调整影响面的概率分析

假设有目前有n个服务器,replica是D. (D>n)

现在新加入一个服务器S,影响之前n个服务器的概率P:

现在环中有Dn个区域, S要取D个点,一共有(Dn)^D种取法。

要选中至少n个服务器,取第一个点,有Dn种取法, 取第二点,有(D-1)n种取法,..., 取第n点,有(D-n+1)种取法.

故:

p = Dn*(D-1)n*(D-2)n*...*(D-n+1)n*(Dn)^(D-n) / (Dn)^D

  = D*(D-1)*...*(D-n+1)/D^n

 

考虑影响至少x个服务器,x可以等于n, n-1, ... , 1等

对x求期望:

E(x) = (D*(D-1)*...*(D-n+1)/D^n) * n + 

       (D*(D-1)*...*(D-n+2)/D^(n-1)) * (n-1) +

       ...

       +1    //(影响至少一台服务器的概率是100%)

 

 

root# ./consHash2.out

Enter existSeverCnt:1

affected server count: 1

they are:

100 //服务器id从100开始自增分配

root# ./consHash2.out

Enter existSeverCnt:2

affected server count: 2

they are:

100 101 

root# ./consHash2.out

Enter existSeverCnt:3

affected server count: 1

they are:

102 

root# ./consHash2.out

Enter existSeverCnt:4    

affected server count: 1

they are:

103 

root# ./consHash2.out

Enter existSeverCnt:5

affected server count: 2

they are:

100 104 

root# ./consHash2.out

Enter existSeverCnt:6

affected server count: 5

they are:

100 101 102 103 105 

root# ./consHash2.out

Enter existSeverCnt:7

affected server count: 4

they are:

102 103 104 106 

root# ./consHash2.out

Enter existSeverCnt:8

affected server count: 4

they are:

103 104 105 107 

root# ./consHash2.out

Enter existSeverCnt:10

affected server count: 4

they are:

101 102 105 109 

root# ./consHash2.out

Enter existSeverCnt:15

affected server count: 5

they are:

101 102 105 110 114 

root# ./consHash2.out

Enter existSeverCnt:20

affected server count: 6

they are:

102 103 110 111 115 119 

root# ./consHash2.out

Enter existSeverCnt:30

affected server count: 5

they are:

106 113 117 125 129 

root# ./consHash2.out

Enter existSeverCnt:50

affected server count: 3

they are:

114 118 122 

root# ./consHash2.out

Enter existSeverCnt:100

affected server count: 6

they are:

128 143 147 164 168 179 

root# ./consHash2.out

Enter existSeverCnt:200

affected server count: 4

they are:

108 184 220 241 

root# ./consHash2.out

Enter existSeverCnt:300

affected server count: 4

they are:

172 208 328 364 

root# ./consHash2.out

Enter existSeverCnt:400

affected server count: 3

they are:

139 377 464 

root# 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值