ni...@us... wrote:
> Skeleton for the "distributed" system using threads per node. Does it look all right?
A great start! Thanks!
A few thoughts:
Heartbeats should probably include the range/version currently
searchable. It should also report "load", perhaps its average response
time.
When creating a new node, a host should ask the master what its id
should be, and the master should allocate new nodes to areas of the ring
that have a heavy load.
The master should also be able to give directives to hosts, indicating
that a node should be dropped (since it is in a cool area of the ring).
Then the host should ask for a new id to replace this. Hosts will be
configured to run a particular number of nodes.
Should we have a HostToMaster protocol in addition to a NodeToMaster
protocol, or should these be the same?
Ranges might be <long,long> rather than <String,String>?
I have to run out now, but will look at this more on Monday.
Thanks again for getting this part started!
Doug
|