[Noisebridge-discuss] Re: IMAP replication

Chris Coleman chris at espacenetworks.com
Sun Apr 19 12:28:05 UTC 2009


Asheesh, Tv, Timo,

I looked around for this feature, and found it, a while back.

What you don't know is that cyrus-imapd already has implemented this 
exact IMAP replication feature. The author(s), David Carter and Ken 
Murchison, cited exactly the reasons you do (high availability, 
multi-master, proper backup of the IMAP mailboxes from live running 
servers, disaster recovery, and local server acceleration).

Here is the link....  
http://www-uxsup.csx.cam.ac.uk/~dpc22/cyrus/replication.html

 From what he says, the replication feature required a special extension 
to the protocol, because IMAP protocol itself is lacking key commands to 
properly do the job.

They use it for local acceleration and backups, but there is no reason 
it could not run over the internet as well for distributed hot spare 
disaster recovery, not much slower at all, because it is asynchronous.

You would be better just porting the replication feature from cyrus to 
dovecot , avoid re-inventing the wheel.

Best,
Chris Coleman

==========

I've become interested in working on multi-master replication for IMAP
mail servers. The IMAP spec makes this complicated, but not impossible.
Multi-master replication means that there are many servers that a client
can connect to, and any action (such as adding a mail to a mailbox, or
marking a mail as read) can be done at any server; the servers handle
synchronization, *even if they're offline*.

As it happens, my interest in this is entirely non-commercial. I'm
interested in adding it to the open source Dovecot IMAP server, or at
least writing an external tool that give Dovecot this power.

Anyone want to collaborate on this? I can definitely teach you the
relevant bits of what I know about email and IMAP; if you'll help, I think
we can achieve a working demo of the core replication algorithm in a week
or two.

Multi-master replication is exciting because it provides (at least) (1) a
principled, efficient way to synchronize my laptop with my mail server,
even when my laptop goes offline, and (2) a way to create a fast local
mirror of a remote IMAP server.

I've chatted with Tv (of gitosis) and Timo (of Dovecot) about this, and I
think we should start from the Dovecot replication strategy
<http://dovecot.org/list/dovecot/2008-April/030356.html>. It's not a fixed
document, nor is it even complete, but it describes the consensus among us
and others on the Dovecot list.

As far as I know, there are zero publicly-available implementations of
this sort of high-availability, multi-master IMAP replication.

-- Asheesh.




More information about the Noisebridge-discuss mailing list