分布式算法之取模算法的缺陷

分布式算法之取模算法的缺陷:
假设有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
所以,服务器越多,则down机的后果越严重

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