Auteur: Phil Pennock Date: À: boyd yang CC: exim-users Sujet: Re: [exim] What's the best solution for Exim4 cluster?
On 2013-08-26 at 14:12 +0800, boyd yang wrote: > Would you please share your solution for Exim4 cluster?
How far up do you need to scale? 1,000 users? 1,000,000 users?
500,000,000 users? The appropriate solution varies depending upon where
you want the bottlenecks to be, how much you're willing to spend, how you
want to handle failure modes, etc.
For instance, do you need to have replication with geographic diversity
across a dozen datacenters, ensuring that no user's two primary
locations are shared-fate for "common" (non-extinction-level) natural
disasters?
Or do you have one datacenter and only 10,000 users, so that one
high-end storage array providing NFS will mostly work?
NFS has problems in that it guarantees Unix filesystem semantics, with
visibility of writes being immediate, rather than a postbox where you
only need writes visible atomically before/after the message. The
storage format chosen will significantly impact the filesystem burden.
Something like Maildir scales well for small installations (five figure
counts of users, perhaps into six figures with some heavy hacks). There
are folks who use some of the Maildir++ hacks with Exim support, to
ensure that appropriate data can be determined without having to hammer
the filesystem, and by appropriately choosing IMAP and POP3 support
which uses the same hacks. But ultimately, using a general purpose
filesystem's directory structure as your locking mechanism will hit
limits which get expensive to mitigate and constrain your technology
choices. But hey, if you're small enough, it makes all the locking
issues "someone else's problem" (the kernel's) and the simplicity makes
it nice to reason about.
Ultimately, you're asking for free systems architecture advice, which is
something that people make a living working on. Without being more open
about what you're working on, what you're trying to achieve, what the
constraints are, and why you're trying to build an Ultimately Scalable
Mailsystem without employing someone experienced to do the work, you're
not likely to get very far.