Rajith Attapattu wrote:
I looked in to WADI and how it can be used within Axis2 to provide
clustering support.
WADI provides web session clustering, by installing itself as an
HttpSession Manager for a particular Context/WebApp.
Ajith confirmed that in Axis2 a service grp context is used in place of
a http session which rules out using WADI as the clustering
infrastructure.
And also http is just one transport out of the transports that Axis2
support so even if HttpSessions are used in http transport, integrating
WADI will only solve part of the problem as there want be any support
for the rest of the protocols.
So I guess we may have to settle down to something propriety for the
time being until we understand most of the requirements and problems
pertaining to the Axis2 space.
Then we can start evaluating other open source projects to see if we can
map our axis2 space easily to what they have to offer. For ex
ActiveSpace http://activespace.codehaus.org ) does offer something more
messaging/transaction oriented clustering.
So the RSS based mechanism maybe a viable first attempt at solving the
clustering problem.
What do you mean by RSS-based?
1. Anubis (under http://smartfrog.org/ ) is what we use for high
availability clustering; its an LGPL fault tolerant tuple space. Insert
a fact into the space, wait one heartbeat and everyone has it. Wait a
second heartbeat and if you hear no network partition events, you know
everyone has it. One more tick and they know you know, etc, etc.
Mathematically sound (i.e. it wasnt me that did the proofs of
correctness). If our network was working properly I'd post a URL to a
paper; I think searching for "Anubis" and "Paul Murray" will find stuff.
2. What does JBoss use for clustering?
Here is what I think a process here should be
1. think of what your requirements really are. Separate the minimum and
then the 'would like' things.
2. look at what there is out there. Dont try and redo your own, unless
there is no way of having your minimum requirements met.
3. Pick a couple, and see if you can add a layer of indirection so you
dont need to care how you cluster, only that you can cluster.
4. Get the teams who can act as providers to help you. If they are too
busy to help you know, they will be to busy to help you when you have a
real problem.
I will try and do what I can in my spare time with smartfrog/anubis
integration. I already have jetty- and tomcat- based deployment working,
and can deploy/configure an Axis2 webapp atop jetty. One other
background project of mine is distributed testing, in which after
deploying the webapp you deploy junit tests *on a different machine*; we
have a PhD student at CERN working with me on this.
-steve