[infinispan-dev] RELAY and Infinispan

Manik Surtani manik at jboss.org
Tue Feb 1 09:45:01 EST 2011


On 1 Feb 2011, at 14:44, Bela Ban wrote:

> 
> 
> On 2/1/11 12:15 PM, Manik Surtani wrote:
> 
>> My plan re: RELAY was to actually implement a delegating ConsistentHash function where I maintain 2 hash wheels, one for 'lan' and one for 'wan' nodes, and of the numOwners of the key, pick N of them (configurable) to be in a remote datacentre.  It would be transparent to the rest of Infinispan, but you would have to 'configure' Infinispan to be aware of RELAY so that it can use the appropriate consistent hash impl.
> 
> 
> OK. My initial thought was that I'd create 2 consistent hash functions. 
> Say we configured DefaultConsistentHashFunction, I'd create one for the 
> local cluster {A,B,C} and one for the remote cluster {X,Y,Z}.
> 
> With numOwners=2, I'd have the first CHF pick 2 nodes out of {A,B,C}, 
> and then have the second CHF pick 2 nodes out of {X,Y,Z}. Add the 4 
> nodes to a list and return that list as a result of locate().
> 
> Your solution is probably better, as you might want to have fewer owners 
> in the backup (remote) place...
> 
> 
>> Also I'd need to change the RPC dispatcher a bit, to force async comms for remote datacentre nodes, and to de-prioritise them when doing remote GETs.
> 
> Yes.
> 
>> It's been on my plate for a while now, it just keeps getting overtaken with other stuff.  :-)
> 
> I'm going to be looking into this pretty soon, as I need it for my demo 
> at JBW.
> 
> As a first step, I'm currently looking into running Infinispan in DIST 
> mode over {A,B,C,X,Y,Z}, where {X,Y,Z} is the remote cluster. I guess, 
> copies of keys are distributed over the entire virtual cluster, although 
> this doesn't currently happen. I'll bug you next week about this...

Cool, yeah.  Hopefully I should have some time later this week or earlier next week to put together a prototype.

--
Manik Surtani
manik at jboss.org
twitter.com/maniksurtani

Lead, Infinispan
http://www.infinispan.org






More information about the infinispan-dev mailing list