[infinispan-dev] Use of Inifnispan across data centers

Galder Zamarreño galder at redhat.com
Fri Aug 6 03:59:02 EDT 2010


On Aug 5, 2010, at 1:02 PM, Bela Ban wrote:

> 
> 
> Galder Zamarreño wrote:
>> On top of the issues you mentioned, you force all to have same 
>> communications layer, TCP or UDP.
> 
> Correct
> 
>> Did you have a look at my Hot Rod presentation for JUDCon? 
>> http://www.jboss.org/events/JUDCon/presentations.html. You might check 
>> out the last bit of my presentation where I explained very briefly how 
>> Infinispan accross data centres could potentially be written with 
>> RemoteCacheStore hooking up different data centres via Hot Rod. Each 
>> dc could be configured with JGroups TCP/UDP while the inter dc traffic 
>> goes over Netty based TCP-NIO. An active/passive kind of layout would 
>> be relatively easy to achieve this way.
> 
> Yes, this would probably work, too. However, there are a few drawbacks:
> 
>    * You have to configure an initial list of Hot Rod end points (in
>      the example, in Bilbao). I guess this is minor though; once
>      connected, clients get updated with the new membership list

Indeed

>    * When the coordinator in Bilbao crashes, someone else has to take
>      over. During this transition you have to ensure that there are no
>      lost or duplicate messages. This can be done with queuing and
>      sequence numbers, plus retransmission, but then again, is this
>      something you want to do in Hot Rod ?

I don't think there's a need to worry about this. The client side, Boston, can keep track of a number of Hot Rod servers in Bilbao. IOW, you can have all nodes in Bilbao running Hot Rod servers. So, if the first one fails, it sends it to the second one. I don't see potential for loss/duplicate at all. It's the client driving it and as long as the servers are there and the client has the view, it's all fine.

>    * Assume Boston is up and running, then Bilbao is started. How does
>      Bilbao get the initial state of Boston ?

Yup, that's missing. I think you'd need Bilbao to be Hot Rod client to Boston and do a bulk get. 

> 
> An unrelated question I have is what happens when the switch between 
> Boston and Bilbao crashes ? I assume Hot Rod requires TCP underneath, so 
> does it (or Netty) implement some heartbeating over the link ?

I'm not aware of Netty sending any hearbeats, but Hot Rod has a ping command which can be used for that.

> 
> 
> -- 
> Bela Ban
> Lead JGroups / Clustering Team
> JBoss
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev

--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache




More information about the infinispan-dev mailing list