Hi,

I'm reading this dev-list since over one year and hence the thread called 
'CL: Clustering, let's get started'.

I know it's time to code clustering and I was attentiv following all ideas 
presented lately. I think that all that theory is going to fast to deep. I 
also have to confess that I'm not a CORBA-guru. I think a pragmatic way 
with some investigation examples would even bring more than clearing the 
deepest details at this time. Clustering is (can be) kind of hard work to 
do. Maybe, it's also recommended to start view from a process level, since 
jBoss already is modular design with defined components. This also involves 
to think about the technologies that should be used.
I regretfully have no time to code at the moment, but I was lately thinking 
a lot about the different technologies that could be used for clustering. I 
hope this may help those people who will start implementing clustering.


An overview:
(Someone may complete, change or correct the following list for an entire view)

Jini
----
+ Allows highly dynamic cluster architectures
+ Removing and adding a service (EJB service) is easy
+ Group architecture
+ Failover could be implemented very efficient
+ Cluster components can find each other using multicast discovery
+ Provides already a TM
- A lot of features & parameters could be involved (Leasing, EventHandling, 
GroupConfiguration, etc.)
- I'm not sure about the stability
- Complex behaviour if one starts to implement distributed synchronization 
(e.g. between entity beans)
- Network Traffic
- A lot of different daemons must be started, when using Jini to the fullest

JavaSpace
---------
+ Could be combined with Jini (Jini: Search of Services, JS: Transactions)
+ Allows transactions with a few easy commands (two-step commit) including 
ACID properties
+ Idea based on Linda3 Systems (shared concurrent processing):
   Machine1(process1)-->JavaSpace(entry1, 
entry2,...,entry3)<--Machine2(process2)
+ Space acts like an ORB, but less complex to handle
- ???

JMX
---
+ High encapsulation of code (transparency)
+ Already integrated in jBoss
- Probably coding Failover all over with X-connector service-finder


JDMK (commercial)
-----------------
+ I think this would be the best technology for clustering:
   The combination of a JMX with more functions and a Jini with less 
functions including multicast discovery
   (That's how it looks to me. I know why Sun sells it...)
- It is commercial and costs something

CORBA
-----
+ ???
- ???

JavaGroups
----------
+ Less functionality than the Jini package
+ Group architecture (cluster group)
- Stable?

Pure RMI
--------
+ Standard, that is not going to change soon
- Almost no code and location transparency
- A lot of work.


I think that JMX would probably be the best technology at the moment for 
clustering jBoss. I liked the idea of Stacy: sounds to me like a good approach.

If someone want's to play with a Jini-Cluster and do some further research 
on this possibility, he can visit a Cluster Prototype for jBoss using Jini 
here:
http://www.fhso.ch/~gasche-m/projects/projekt888/

This prototype runs on Linux & Windows (binaries provided) and is based on 
three components:
- Client or let's say gateway (1...n)
- Managers: Negotiator between gateway and Node (1...n)
- Node: Clustered Service, EJB service should be attached to the Node (1...n)
(1...n: 1...n components can be started in a subnet)
It provides:
- An auto-curative-algorithm (manager and node failover)
- static load-balancing
- pseudo lock/unlock mechanism
- No IP-configuration --> components find each other automatically (multicast)

The Final Report of this cluster is available here:
http://www.fhso.ch/~gasche-m/projects/projekt888/download/FinalReport.pdf
(Remember, just a prototype! If you're going to read it, read the 
conclusion too!).


happy coding,

Michael Gasche
(neon java evangelist)

_________________________________________________________________________

Mail to : [EMAIL PROTECTED] (home) / [EMAIL PROTECTED] (school)
Call to : +41326823866 (home) / +41786101217           (mobile)
Write to: Michael Gasche, Lindenstr. 10, CH-4552 Derendingen, SWITZERLAND
Surf to : http://mg.jcure.org/
______________________________________________________________________yep!


Reply via email to