All of lore.kernel.org
 help / color / mirror / Atom feed
* Git for redundant mail servers
@ 2005-04-23  6:42 David Woodhouse
  2005-04-23  8:24 ` Jon Seymour
  0 siblings, 1 reply; 5+ messages in thread
From: David Woodhouse @ 2005-04-23  6:42 UTC (permalink / raw)
  To: git; +Cc: David Gibson, jgarzik

Random alternative use for git... we could use it to provide a cluster
of redundant mail delivery/storage servers. 

The principle is simple; you use something like a set of Maildir
folders, stored in a git repository. Any action on the mail storage is
done as a commit -- that includes delivery of new mail, or user actions
from the IMAP server such as changing flags, deleting or moving mail.
These actions are actually fairly efficient when Maildir folders are
stored in a git repository -- the IMAP model is that mails are
immutable, and flag changes are done as renames.

In the normal case where all the servers are online, each commit is
immediately pushed to each remote server. When a server is offline or
separated somehow from the rest of the group, it's going to have to do a
merge when it reconnects -- we'd implement a Maildir-specific merge
algorithm, which really isn't that hard to do.

In this case we'd probably want to make active use of the feature of git
which allows you to prune history. You don't need to keep any history
further back than the commit which will be the common ancestor when a
currently-absent member of the cluster eventually comes back. In the
common case, that will actually be no history at all, since all members
will be present.

You can then have multiple members of a cluster, each running an SMTP
server and allowing for delivery of email, and each running an IMAP
server. Clients can connect to any of the machines and receive IMAP
service, and email will continue to flow inward, as long as at least one
machine in the cluster remains alive. 

-- 
dwmw2


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-04-24  7:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-23  6:42 Git for redundant mail servers David Woodhouse
2005-04-23  8:24 ` Jon Seymour
2005-04-24  5:12   ` David Lang
2005-04-24  5:54     ` David Woodhouse
2005-04-24  7:45       ` David Lang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.