Return-Path: Delivered-To: apmail-incubator-geronimo-dev-archive@www.apache.org Received: (qmail 78816 invoked from network); 29 Aug 2003 16:07:38 -0000 Received: from daedalus.apache.org (HELO apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 29 Aug 2003 16:07:38 -0000 Received: (qmail 75052 invoked by uid 500); 29 Aug 2003 16:07:12 -0000 Delivered-To: apmail-incubator-geronimo-dev-archive@incubator.apache.org Received: (qmail 74992 invoked by uid 500); 29 Aug 2003 16:07:11 -0000 Mailing-List: contact geronimo-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: geronimo-dev@incubator.apache.org Delivered-To: mailing list geronimo-dev@incubator.apache.org Received: (qmail 74902 invoked from network); 29 Aug 2003 16:07:10 -0000 Received: from unknown (HELO dns1.digitalglobe.com) (205.166.175.34) by daedalus.apache.org with SMTP; 29 Aug 2003 16:07:10 -0000 Received: from comail.digitalglobe.com (comail.digitalglobe.com [10.10.42.3]) by dns1.digitalglobe.com (8.12.6/8.12.5) with ESMTP id h7TG75w9060531 for ; Fri, 29 Aug 2003 10:07:05 -0600 (MDT) (envelope-from ferret@frii.com) Received: from pclnxbsnyder.digitalglobe.com ([10.10.30.169]) by comail.digitalglobe.com with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2656.59) id RX3RPWD9; Fri, 29 Aug 2003 10:07:04 -0600 Date: Fri, 29 Aug 2003 16:07:03 +0000 (GMT) From: Bruce Snyder X-X-Sender: bsnyder@pclnxbsnyder.digitalglobe.com To: geronimo-dev@incubator.apache.org Subject: Re: [clustering] kinds of clustering was (Re: [jndi] Have we found a JNDI impl yet?) In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N This one time, at band camp, James Strachan said: Please see my comments inline. JS>On Friday, August 29, 2003, at 01:16 pm, Alex Blewitt wrote: JS> JS>> On Friday, Aug 29, 2003, at 12:59 Europe/London, Daniel S. Haischt JS>> wrote: JS>> JS>>> Alex Blewitt wrote: JS>>> JS>>> [...] JS>>> JS>>>> You also have to consider the case when a clustered system is in JS>>>> operation. Then, they are likely to need to share data that is JS>>>> installed, and a sensible back-end may need to synchronize such JS>>>> writes across a number of nodes/clusters. JS>>>> I agree for a single-server environment, having an in-memory cache JS>>>> will be the fastest, but having a switchable JNDI server will allow JS>>>> both :-) JS>>> JS>>> is there already someone working on a clustering solution? JS>>> JS>>> sometimes i am wondering whether we are aiming to provide a all-in-one JS>>> wonder. wouldn't it be possible to start with a more simple in-memory JS>>> solution and switch to a more complex solution while Geronimo emerges? JS>> JS>> Geronimo is currently a single-node system. It would obviously be JS>> desirable to support clustering at a later stage. JS>> JS>> However, thinking about the aspects involved in clustering now, it JS>> allows us to make better abstractions which will allow us to migrate JS>> to a clustered solution easier in the future. JS> JS>There are many forms of clustering. Off the top of my head this JS>includes... JS> JS>* JNDI clustering (either peer based or LDAP style master-slave model) JS>* clustered caching (a big topic in and of itself) used for all kinds JS>of things from arbitrary application data to CMP / JDO caching JS>* clustered HTTP / session bean state (similar in some ways to the JS>above with some differences - typically sticky-ness) JS>* clustered servers - e.g. deploying a WAR / EAR to the cluster & it JS>runs everywhere in the cluster etc JS>* clustered JMS implementation (using clustering for persistence for HA JS>to avoid message loss) * HA services (failover and load balancing) * automatic instance discovery * easy management of the entire cluster (this gets into netboot and other monitoring functionality) JS>I'd hope we can implement them all in some modular & configurable way JS>so users are free to pay whatever cost (in RAM, I/O, CPU, complexity or JS>whatever) they are happy with to get the quality of service they need JS>in all aspects of Geronimo. We definiely need to consider building a decoupled layer allowing differnet solutions to be plugged in. The first solution that comes to my mind is JavaGroups (soon to be renamed JGroups), because of it's capabilities. It's designed to provide exactly this type of functionality. The problem with JGroups is that it is licensed using the LGPL. Maybe I could ask Bela about a dual licensing strategy. I was planning on talking to him soon anyway. Bruce -- perl -e 'print unpack("u30","<0G)U8V4\@4VYY9&5R\"F9E