At Fri, 14 Oct 2011 18:21:20 +0800, Liu Yuan wrote: > > On 10/14/2011 06:06 PM, Liu Yuan wrote: > > > On 10/14/2011 05:38 PM, MORITA Kazutaka wrote: > >> > >>> Good idea. I am totally fond of this feature, it makes sheepdog more > >>> symmetrically attractive. IIUC, we need to implement 'sub sheepdog > >>> cluster' concept. > >>> > >>> zone 0 1 > >>> + + > >>> | | > >>> subzone ------------ ----------- > >>> | | | | | | > >>> + + + + + + > >>> 0' 1' 2' '0 '1 '2 > >>> > >>> I can not simply guess how hard it is to implement. I'll look at this > >>> concept after Kazum refactor the membership code, probably after 0.3.0 > >>> release. > >>> Kazum, any comment for this idea? > >> I don't yet fully understand the idea. When we want to have 2 copies > >> in zone 0 and 1 copy in zone1, how to specify it with subzone? > >> > >> > >> Thanks, > >> > >> Kazutaka > > > > Grr, why my drawing get distorted by thunderbird. > > > > how about bellow steps? suppose we only support 2 levels. > > > > three nodes, n0,n1 for zone 0, n2 for zone 1. > > > > top zone + > > | > > ---------------------------- > > + + > > subzone 0 1 > > | | > > --------------- - > > node # # # > > 0 1 2 > > ============================ > > set it globally: > > > > n0: sheep store -z 0 -sz 0 > > n1: sheep store -z 0 -sz 1 > > n2: sheep store -z 1 -sz 0 > > > > one of 3 nodes: collie cluster format --zone_copies 2 --subzone_copies > > 0,2 --subzone_copies 1,1 > > > > ============================ > > or set it at zone level: > > > > n0: sheep store -z 0 -sz 0 > > n1: sheep store -z 0 -sz 1 > > n2: sheep store -z 1 -sz 0 > > > > one of n0, n1: collie cluster format --copies 2 > > n2: collie cluster format --copies 1 > > > > after all the sub-zones get formated, the top level cluster > > automatically begins to work. > > > > Thanks, > > Yuan > > > Okay, resend it for distorted drawing. > --- > > how about bellow steps? suppose we only support 2 levels. > > three nodes, n0,n1 for zone 0, n2 for zone 1. > > top zone + > | > ---------------------------- > + + > subzone 0 1 > | | > --------------- - > node # # # > 0 1 2 This is easy to understand. :) > > ============================ > set it globally: > > n0: sheep store -z 0 -sz 0 > n1: sheep store -z 0 -sz 1 > n2: sheep store -z 1 -sz 0 > > one of 3 nodes: collie cluster format --zone_copies 2 --subzone_copies > 0,2 --subzone_copies 1,1 How about followings? sheep -z <zone[/subzone]> collie -c <[zone[/subzone]:]copies> For example: n0: sheep store -z 0/0 n1: sheep store -z 0/1 n2: sheep store -z 1/0 one of 3 nodes: collie cluster format -c 2 -c 0:2 -c 1:1 This doesn't hurt exiting users who don't need subzone, and we can easily extend it to more complicated hierarchies in future. For example: n0: sheep store -z 0/0 n1: sheep store -z 0/1/0 n2: sheep store -z 0/1/1/0 n3: sheep store -z 0/1/1/1 n4: sheep store -z 0/2 n5: sheep store -z 1 collie cluster format -c 2 -c 0:3 -c 0/1:2 -c 0/1/1:2 Thanks, Kazutaka > > ============================ > or set it at zone level: > > n0: sheep store -z 0 -sz 0 > n1: sheep store -z 0 -sz 1 > n2: sheep store -z 1 -sz 0 > > one of n0, n1: collie cluster format --copies 2 > n2: collie cluster format --copies 1 > > after all the sub-zones get formated, the top level cluster > automatically begins to work. > > Thanks, > Yuan > -- > sheepdog mailing list > sheepdog at lists.wpkg.org > http://lists.wpkg.org/mailman/listinfo/sheepdog |