Hi all,

I'd like to bring this topic up,
https://issues.apache.org/jira/browse/ODE-563, I am going to work on this
task, before I do this, I'd like to have a heads up at here.

Below is discussion that I found in the mail archive by Alex Boisvert, which
I think it is very good summary in this area.

"
The Axis2 integration already supports *clustering*.  (Well, maybe a better
characterization is that it doesn't get in the way)

There's a few things do to to support *clustering*.  First thing would be to

make the scheduler *cluster*-aware, to support work distribution (load
balancing) across different nodes and to avoid contention.   I suggested
using Terracotta as a basis for this, but there may be other (and better)
ways.

If we want to get more performance out of the system, we can introduce
varying levels of node affinity to reduce data shipping and improve cache
efficiency within the *cluster*.  This would probably entail some form of
distributed lock manager, or a registry to redirect messages to process
instances already loaded on *cluster* nodes.   This is an area where
integration with the messaging layer (Axis2) can help since you can
establish "sessions" between clients and services to improve message routing

and, again, cache efficiency.

The persistence DAOs (OpenJPA and Hibernate) also support *clustering*today.
Both can be configured to be *cluster*-aware and both support the more
aggressive transparent *cluster* cache such as Terracotta, JBoss Cache, etc.


Hope this helps,
alex
"

>From above summary, I believe we have following sub-tasks for the
clustering.

1. make cronScheduler cluster-aware.
2. simpleScheduler module's DAO need to be implemented as JPA based, so that
it can support cluster.
3. make simple scheduler cluster-aware?

Anything I am missing or mis-understanding here??

-- 
Cheers,
Jeff Yu

----------------
blog: http://jeff.familyyu.net

Reply via email to