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(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev
--
Galder Zamarreño
Sr. Software Engineer
Infinispan, JBoss Cache