Hello!

On Sat, Jul 02, 2005 at 11:04:34AM +0800, Jeffrey Lim wrote:
>how about the mail store then? I suppose there'll have to be some
>coordinated (and "thread-friendly") back-end mail store in place for
>these front-end mail servers (*i'm assuming simplistic load-balancing
>here - at the tcp level, rather than at the application level, or
>splitting via userid, so that the different userids are actually
>assigned to different mailstores).

Splitting via userid would be the simplest thing. Developping
a robust distributed mail storage system is more complicated
(been there, done that). However, for that you don't need
"thread-friendly". The thing I developped (sorry, closed source)
consists of a few processes per node only, perusing select()
heavily for multiplexing. Ok, there's support for pseudo-parallel
I/O, using *fork*ed I/O helper processes and socketpairs.

But as said, doing such a thing is very complicated, but it
works quite ok in-between (after say 3 or 4 years of development),
supporting millions of users with about 80 nodes, capable of
supporting IMAP, too (with quite correct handling of IMAP's
\Recent-flag, too, which is a beast by itself).

>-jf

Kind regards,

Hannah.

Reply via email to