geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jules Gosnell <>
Subject Re: Clustering
Date Sat, 15 Oct 2005 17:38:08 GMT
Jeff Genender wrote:

> Jules,
> Thanks for the update.  I like whats been done.  Do you think WADI is 
> ready begin becoming a part of Geronimo? (i.e ready for prime time)

I have lots more to do, but I would certainly be interesting in starting 
integration work with Geronimo. I always had Geronimo in mind whilst 
working on WADI, it has just been that, until certification, simply 
implementing specs correctly has been foremost on the G agenda. Now that 
we have reached this goal, the next one becomes enterprise-readiness. I 
hope that WADI can help with this. Would you, or anyone else on the 
list, be interested in taking a look at it and getting involved in the 
integration ?


> Jeff
> Jules Gosnell wrote:
>> Jeff Genender wrote:
>>> Now that we have achieved the covetted J2EE Certification, we need 
>>> to start thinking about some of the things we will need to have in 
>>> Geronimo in order to be mass adopted by the Enterprise.
>>> IMHO, I think one of the huge holes is clustering.  This is a heavy 
>>> need by many companies and I believe that until we get a powerful 
>>> clustering solution into G, it will not be taken as a serious J2EE 
>>> contender.
>>> So, with that said, I wanted to start a discussion thread on 
>>> clustering and what we need to do to get this into Geronimo.  I 
>>> personally would like to be involved in this (thus the reason for me 
>>> starting this thread) - yeah, since Tomcat is done, now I am bored ;-).
>>> I was going over the lists and emails and had some great discussion 
>>> with Jules on the WADI project he has built.  This seems compelling 
>>> to me.  I also noticed Active Cluster as a possibility.
>>> So lets start from the top.  Do we use an already available 
>>> clusering engine or do we roll our own?  Here is a small list of 
>>> choices I have reviewed and it is by no means complete...
>>> 1) WADI
>>> 2) Active Cluster
>>> 3) Leverage the Tomcat Clustering engine
>>> So here are some of my questions...
>>> How complete is WADI and Active Cluster?  Both look interesting to 
>>> me. My only concern with Active Cluster is it seems to be JMS based, 
>>> which I think may be slow for high performance clustering (am I 
>>> incorrect on this?).  How mature is WADI?
>> Here is a status report on WADI.
>> I'm developing it full time.
>> A snapshot is available at - documentation is in 
>> the wiki - at the moment the documentation (rather minimalist) is 
>> more up to date than the snapshot, but I will try to get a fresh one 
>> out next week.
>> WADI is a plugin HttpSession Manager replacement for Tomcat-5.0/5.5 
>> and Jetty-5.1/60 (it can actually migrate sessions between all four 
>> in the same cluster).
>> It comprises a vertical stack of pluggable caches/stores (memory, 
>> local disc, db etc) through which sessions are demoted as they age 
>> and promoted as and when required to service a request.
>> This stack may be connected horizontally to a cluster by inserting a 
>> clustered store, which uses a distributed hash table (currently 
>> un-replicated, but I am working on it) to share state around the 
>> clusters members in a scalable manner. WADI has a working mod_jk 
>> integration.
>> WADI currently sits on top of ActiveCluster, which it uses for 
>> membership notification and ActiveMQ which is used for transport by 
>> both layers. ActiveMQ has pluggable protocols, including a peer:// 
>> protocol which allows peers to talk directly to one another (this 
>> should put to bed fears of a JMS based solution not scaling - 
>> remember, JMS is just an API). So you do not need to choose between 
>> WADI and ActiveCluster - they are complimentary. ActiveCluster can 
>> also (I believe) use JGroups as a transport - I haven't tried it.
>> ActiveSpace is another technology in this area (distributed caching) 
>> and it looks as if WADI and ActiveSpace will become more closely 
>> aligned. So this may also be considered a complimentary technology.
>> Both Tomcat and Jetty currently have existing clustering solutions. I 
>> looked closely at the Tomcat solutions before starting out on WADI 
>> and knew all about the Jetty solution, because I wrote it :-). WADI 
>> is my answer to what I see as shortcomings in all of the existing 
>> open source approaches to this problem-space.
>> Some parts of WADI should soon (December) be undergoing some serious 
>> testing. When they pass we will be able to consider them production 
>> ready. Others, notably the distributed hash table are still under 
>> development (although a fairly functional version is available in the 
>> I think that, in the same way Tomcat clustering could be enabled 
>> easily in Geronimo, WADI could also be added by virtue of its 
>> integration with Tomcat/Jetty, but I have been concentrating on my 
>> distributed hash table too hard. If anyone is interested in talking 
>> further about WADI, perhaps trying to plug it into Geronimo (It is 
>> spring-wired and uses spring to register its components with JMX. I 
>> guess it should be simple to hook it into the Geronimo kernel in the 
>> same way, I just haven't had the time), or helping out in any way at 
>> all, I would be delighted to hear from them.
>> I have broached the subject of a common session clustering framework 
>> with members of the OpenEJB team and we have discussed things such as 
>> the colocation of HttpSessions and SFSBs. I believe OpenEJB has been 
>> moving towards JCache to facilitate the plugging in of a clustering 
>> substrate. My distributed hash table is also moving in the same 
>> direction.
>> I hope that gives you all a little more information to go on. If you 
>> have any questions, just fire away,
>> Jules
>>> Thoughts and opinions are welcomed.
>>> Jeff

"Open Source is a self-assembling organism. You dangle a piece of
string into a super-saturated solution and a whole operating-system
crystallises out around it."

 * Jules Gosnell
 * Partner
 * Core Developers Network (Europe)
 * Open Source Training & Support.

View raw message