I wanted to check my understanding of the load balance operation. Let's say I 
have 5 nodes, each of them has been assigned at startup 1/5 of the ring, and 
the load is equal across them (say using random partitioner). The load on the 
cluster gets high, so I add a sixth server. During bootstrap, the new server 
will pick the existing server with the highest load, and take half the load 
from that server. After boot strap, I would end up with 4 servers with 1/5 of 
the ring each, and 2 servers with 1/10 of the ring each - is this correct? I'll 
get hotspots unless I double the number of nodes?
                                
Really I would want adding a sixth server to result in six machines with 1/6 of 
the load taken evenly from the existing nodes.  If I understand - and correct 
me if I'm wrong -, the core of this is that each server is assigned one token, 
while in a system like dynamo, a server is assigned multiple tokens around the 
ring. Is there any benefit to only assigning one token? Has anyone worked on 
assigning a server multiple tokens, or is there some other unrelated way to get 
more even load distribution when adding a node?

Reply via email to