|
From: Sebastian S. <wa...@wa...> - 2003-03-27 07:46:17
|
Am Die, 2003-03-25 um 03.04 schrieb Boni Bruno:
> Sebastian Schaffert wrote:
> > Am Son, 2003-03-23 um 11.14 schrieb Boni Bruno:
> >=20
> >>I have a client we need to build a webmail type solution for with 500=
K=20
> >>users to start. Do you have any references of webmail supporting thi=
s kind=20
> >>of load? =20
> >=20
> >=20
> > Frankly, no.
>=20
> Looks like we will be the first. ;)
:-)
> > You can e.g. use a load-balancing Servlet container. In this way you
> > will be able to scale to pretty large numbers of users. Also, you wil=
l
> > definately need some kind of load balancing for your IMAP servers, as
> > WebMail relies heavily on them.
> >=20
>=20
> Are there load-balancing servlet containers available or will we have t=
o
> build this ourselves? =20
Apache JServ was capable of doing it, so perhaps Tomcat also has this
feature. I didn't check that, though.
> Even if I load balance the IMAP servers, I
> still have the problem of having multiple message stores with each IMAP
> server which would not be efficient. =20
The idea I pursued once was the following:
- Have multiple IMAP servers, distribute client mailboxes evenly on=20
these servers
- Use an IMAP-Proxy as the "main connection point". This IMAP proxy has=20
access to some sort of database (probably most efficient is a dbm hash
file stored locally) to decide on which IMAP server the client has his
mailbox
When we considered a large installation, the main problem was disk
access, not network throughput or processing power. With the above
approach, you have one proxy, which simply acts as "forwarder" and has
almost no disk accesses. The IMAP servers with many disk accesses are
distributed.
> I think it makes more sense to
> have web mail fetch and store mail directly from a fast/big backend dat=
abase
> like Oracle - wouldn't you agree? Taking this approach, what component=
s
> can we still use from webmail and what components would we have to buil=
d?
The most simple approach would be to write a JavaMail driver to access a
backend database. JavaMail provides means to do this, just have a look
at the documentation.:-)
You will also need to write a different authentication plugin for
WebMail, but this is pretty simple (have a look at the other
Authenticator classes).
> >=20
> > No. Webmail uses the JavaMail API for accessing messages, so a feasib=
le
> > solution will be to write a "driver" for JavaMail and your backend
> > database.
> >=20
>=20
> If we do this, do we still need IMAP? =20
No.
> We can configure the front-end
> SMTP servers to store mail directly to the database and have web mail
> fetch/store mail from the database as well. This would allow us to
> load balance the smtp servers and webmail servers very easily if user
> authentication and mail storage is kept on the backend. I think it
> can be done to scale Webmail to 500K - 2M users. What do you think?
Hmm, I don't know. It also largely depends on the usage behaviour of
your clients...
But probably it is possible.
>=20
> >=20
> >>Your support is appreciated.
> >>
> >>-boni
> >=20
>=20
>=20
P.S. Copy goes to developer mailinglist, since I am neither the only
developer nor the most active one.:-)
--=20
Sebastian
| Dipl.-Inform. Sebastian Schaffert LFE Programmier-/
| sch...@in... Modellierungssprachen
| LMU M=FCnchen - Institut f=FCr Informatik - Zimmer C8 - Tel: 089/2180-9=
781
PGP Key fingerprint =3D =20
13 1D 2E 4F 20 3E C9 1F 4C 57 52 87 8A 80 48 4D F5 E9 97 EC=20
|