[Dovecot] Replication protocol design

Ed W lists at wildgooses.com
Tue Apr 29 18:28:43 EEST 2008

Timo Sirainen wrote:
> I'll probably be implementing multi-master replication this summer. My
> previous thoughts about it are here:
> http://dovecot.org/list/dovecot/2007-December/027284.html
> Below is a description of how the replication protocol will probably
> work. It should work just as well for master-slave and multi-master
> setups. Comments welcome. I'll write later a separate mail about how
> it'll be implemented to Dovecot.

My first thoughts are that although this seems like a really exciting 
feature set - it doesn't *appear* to solve many use cases ie fully 
disconnected modifications?

I'm thinking:

- personal imap server on my laptop which will intermittently sync back 
to the office.  While offline I will copy messages around and perhaps 
create new messages (drafts, folders containing notes, etc)
- two offices connected by dialup. Users can connect to either server 
and create/delete content to their hearts content, eg local smtp on each 
server which delivers to the local inbox, but syncs back up to the main 
server, means we can mail other local users directly without connecting 
the dialup link, but if you go back to the main office eventually your 
mailbox back there syncs up to be the same as in the satellite office

I think they imapsync style protocol is the most powerful starting point 
for master/master sync.  However, that style of sync can be made more 
efficient by using the LEMONADE features you previously added, in 
particular by offering a limited log file of recent actions in a folder 
we can avoid a full sync and apply only the recent changes to a given 
folder (fallback to full sync and compare if folders fall out of sync)

The other advantage of the imapsync style protocol is that it's much 
simpler to support partial replication, eg replicate only certain 
folders over certain date ranges (or only parts of certain messages, eg 
excluding large attachments)

My interest is for scenarios like a cruiseliner where we want crew to be 
able to email each other instantly onboard without involving the 
satellite link, but when they go ashore they should still be able to see 
the same mail in their inbox back on the server onshore (or they move to 
another ship then we sync their mailbox across)

Any comments?

Ed W

More information about the dovecot mailing list