分布式之取模算法的缺陷

分布式算法之取模算法的缺陷:
假设有8台服务器,运行中,突然down一台,则求余的底数变成7,
后果:
key:0%8 = 0, key:0%7 = 0  hits
....
key:6%8 = 6, key:6%7 = 6 hits
key:9%8 = 1, key:9%7 = 2 miss
....
key:55%8 = 7, key:55%7 = 6 miss


一般的,从数学上归纳:
有N台服务器,变成N-1台,
每N*N-1个数中,求余相同的数字只有N-1个数字,
所以命中率在服务器down的短期内,急剧下降至(N-1)/N*(N-1) = 1/(N-1)

所以,服务器越多,则down机的后台越严重


分布式之取模算法的缺陷_第1张图片


你可能感兴趣的:(分布式之取模算法的缺陷)