On 31/08/2007, at 10:12 AM, David Jencks wrote:
Clustering
IIUC we have a lot of partial clustering solutions. For instance
there's WADI, native tomcat clustering, a terracotta integration,
and IIUC Jeff has been working on a clustering solution (my
apologies if I left any out). I'd like to know where these efforts
are in terms of actual functionality and reliability and what they
can be extended to do. We also need some kind of cluster admin tools.
Hi,
As a response to this query, I have quickly created a couple of WIKI
pages, http://docs.codehaus.org/display/WADI/Home, in order to
capture some of the technical aspects of WADI.
WADI's core functionalities are:
* group communication API - Reliable: cluster membership update
notifications; various message exchange patterns; and interception of
exchanged messages. Tribes is the actual group communication
libraries used under the cover of the WADI API. An in-vm
implementation is also provided for testing purposes.
* HttpSession migration - Reliable: if a session is hosted by a node
and an HttpRequest requesting this session is received by another
node, the session is migrated to the node receiving the HttpRequest.
* HttpSession replication - Reliable: each session is replicated to a
configurable number of peers so that the session can be recreated if
the node hosting the session dies.
* Persistence of HttpSessions between node restarts - Reliable
(Derby, MySQL, Postgres): sessions can be stored into a database
between node restarts.
* Distributed service infrastructure - Reliable: any class can be
registered as a distributed service, which can then be invoked and
monitored by clients on other nodes. More accurately, clients can
create dynamic proxies for a distributed service. Methods executed
against dynamic proxies are wrapped within messages and sent through
the group communication infrastructure. Methods can be made one-way;
method return values can be aggregated; Timeouts can be configured;
Targeted peers can be selected. Clients can also monitor distributed
services: they can received notifications when a distributed service
starts, stops or fails and retrieve the peers hosting the distributed
service.
* Singleton service infrastructure - Reliable: WADI can manage a
singleton service.
* Administration console - Reliable (deployed to standalone Jetty and
Geronimo 2.x): very basic admin console to browse cluster components.
* Partial replication of any objects - under progress: instead of
replicating the full session state each time that a session is
updated, only the updated fields are replicated. So far, delta
replication is working as long as the session is not migrated.
Prior the cut of the branch 2.0, I was working on a
ClusterAwareConfigurationManager which will coordinate deployment,
e.g. distribute, and managements, e.g. start, across multiple nodes.
I put it on hold as 2.0 was being cut. I think now is a good time to
restart this implementation.
Thanks,
Gianny