james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Heath <elc...@gmail.com>
Subject Re: IMAP Draft: Cluster
Date Tue, 11 Jul 2006 03:05:51 GMT
On Mon, 2006-07-10 at 14:57 +0200, Joachim Draeger wrote:

> > Maybe such idle connections could be handled by a special thread and if 
> > any real work is starting on a connection, this one is handed over to a 
> > worker thread?
> 
> To allow many idle connections but limit the maximal possible server
> load, I have the idea of a central scheduler in mind.
> The scheduler keeps track of all running threads. 
> If a session thread wants to run an expensive command it has to ask the
> scheduler first. 

The thread per connection model simply doesn't scale to the level that
would be needed for a decent IMAP server.  Fortunately, this is a
problem that has already been solved by SEDA [1].  The Apache MINA
project [2] implements the good ideas of SEDA plus adds a number of
other good ideas providing a framework that is very easy to learn and
use.  MINA also performs and scales very well.  MINA is also an Apache
project which means that any need support is just around the corner.  At
ApacheCon there was talk about using MINA to implement the protocols
used by JAMES [3].  Since I wrote a MINA based SMTP handler [4], I would
be very interested in seeing JAMES move to MINA based protocol handlers.
I think this would be a good move for the 3.0 release of JAMES.

-Mike

[1] http://www.eecs.harvard.edu/~mdw/proj/seda/
[2] http://directory.apache.org/subprojects/mina/index.html
[3]
http://mail-archives.apache.org/mod_mbox/directory-mina-dev/200607.mbox/browser
[4] http://hausmail.safehaus.org/


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message